@ivanoliverfabra/bloom v1.1.3
Bloom: Virtual Currency for Minecraft SMP
Bloom is a TypeScript library designed to interact with a virtual currency system for a Minecraft SMP. This library facilitates account creation, address management, transactions, and searching functionalities through a RESTful API.
Table of Contents
Installation
To install the Bloom library, use npm or yarn:
npm install @ivanoliverfabra/bloom
yarn add @ivanoliverfabra/bloom
pnpm add @ivanoliverfabra/bloom
bun add @ivanoliverfabra/bloomUsage
Creating an Instance
To create an instance of the Bloom client, import the library and initialize it with the base URL of the Bloom API:
import Bloom from "@ivanoliverfabra/bloom";
const bloom = new Bloom("https://bloom.fabra.me/api");Account Management
Bloom provides methods to create, retrieve, and list accounts.
Create an Account
const account = await bloom.account.create();
console.log(account);Get an Account
const account = await bloom.account.get("b123456789");
console.log(account);List Accounts
const accounts = await bloom.account.getMany({ limit: 10, offset: 0 });
console.log(accounts);List Specific Accounts
const accounts = await bloom.account.getMany({ limit: 10, offset: 0 }, [
"b123456789",
"b234567890",
]);
console.log(accounts);Address Management
Bloom provides methods to create, retrieve, list, and transfer addresses.
Create an Address
const address = await bloom.address.create(
"pk-1234567890abcdef",
"example_address"
);
console.log(address);Get an Address
const address = await bloom.address.get("example_address");
console.log(address);List Addresses
const addresses = await bloom.address.getMany({ limit: 10, offset: 0 });
console.log(addresses);Transfer an Address
const transferredAddress = await bloom.address.transfer(
"pk-1234567890abcdef",
"example_address",
"new_owner"
);
console.log(transferredAddress);Transactions
Bloom provides methods to create, retrieve, and list transactions.
Create a Transaction
const transaction = await bloom.transaction.create(
"pk-1234567890abcdef",
"recipient_address",
100,
BloomTransactionType.Transfer,
undefined,
{ note: "Payment for services" }
);
console.log(transaction);Create a Request
const transaction = await bloom.transaction.create(
"pk-1234567890abcdef",
"recipient_address",
100,
BloomTransactionType.Request,
undefined,
{ note: "Payment for services" }
);
console.log(transaction);Pay a Request
const transaction = await bloom.transaction.create(
"pk-1234567890abcdef",
"recipient_address",
100,
BloomTransactionType.Payment,
"rq-1234567890abcdef",
{ note: "Payment for services" }
);
console.log(transaction);Get a Transaction
const transaction = await bloom.transaction.get("transaction_id");
console.log(transaction);List Transactions
const transactions = await bloom.transaction.getMany({ limit: 10, offset: 0 });
console.log(transactions);Search
Bloom provides a search function to query accounts, addresses, and transactions.
const searchResults = await bloom.search("query");
console.log(searchResults);Validation
Bloom provides validation functions for account addresses, addresses, private keys, and request IDs.
const isValidAccountAddress = bloom.validate.accountAddress("b123456789");
console.log(isValidAccountAddress); // true or false
const isValidAddress = bloom.validate.address("example_address@domain.mc");
console.log(isValidAddress); // true or false
const isValidPrivateKey = bloom.validate.privateKey("pk-1234567890abcdef");
console.log(isValidPrivateKey); // true or false
const isValidRequestId = bloom.validate.requestId("rq-1234567890abcdef");
console.log(isValidRequestId); // true or falseTypes
Bloom provides various TypeScript types for better development experience.
BloomAccountBloomAddressBloomTransactionBloomPaginationPropsBloomPaginatedResponse
Refer to the code for detailed type definitions.
Contributing
Contributions are welcome! Please open an issue or submit a pull request for any features, bug fixes, or improvements.
License
This project is licensed under the MIT License. See the LICENSE file for details.