1.1.3 • Published 12 months ago

@ivanoliverfabra/bloom v1.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

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/bloom

Usage

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 false

Types

Bloom provides various TypeScript types for better development experience.

  • BloomAccount
  • BloomAddress
  • BloomTransaction
  • BloomPaginationProps
  • BloomPaginatedResponse

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.

1.1.3

12 months ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago