Socket
Book a DemoInstallSign in
Socket

@ivanoliverfabra/bloom

Package Overview
Dependencies
Maintainers
0
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ivanoliverfabra/bloom

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.

1.1.3
latest
npmnpm
Version published
Maintainers
0
Created
Source

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
  • Usage
  • Types
  • Contributing
  • License

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);

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.

Keywords

bun

FAQs

Package last updated on 19 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.