@grams-dev/core
Welcome to the @grams-dev/core
package — your comprehensive toolkit tailored for the Grams ecosystem. This package houses essential modules, making it effortless to fuel cross-platform applications with unmatched efficiency.
Prerequisites
Before diving in, ensure you have the following tools installed:
- Python <3.11
-
Yarn: Install via
npm install -g yarn
- Visual C++ Build Tools: Essential for crafting native modules. Download here.
- Rust & Cargo: These are vital for certain cryptographic functionalities offered by IOTA. Here's an installation guide.
For Windows users, remember to also install LLVM. It's also likely you'll need to configure an environment variable
RUSTFLAGS
with the value-C target-feature=+crt-static
.
Bindings
Venture into the bindings directory for nuanced implementations.
- Node.js: Seamlessly infuse core functionalities into Node.js applications.
- WebAssembly (Wasm): Paves the way for high-performance execution in web-native environments.
Which bindings to choose?
With @grams-dev/core
, we offer dedicated bindings to cater to various platforms. Understanding the differences between Wasm and Node.js bindings can be crucial:
Wasm bindings | Node.js bindings | |
---|---|---|
Environment | Node.js, browsers | Node.js |
Installation | - | Rust, Cargo required* |
Performance | ✔️ | ✔️✔️ |
Ledger Nano | ❌ | ✔️ |
Rocksdb | ❌ | ✔️ |
Stronghold | ❌ | ✔️ |
tl;dr: Opt for Node.js bindings whenever feasible, especially in server environments. On the other hand, Wasm bindings offer portability, making them suitable for browser environments.
Installation
Add the core package to your project via npm:
npm install @grams-dev/core
Or with yarn:
yarn add @grams-dev/core
Usage
Incorporate and utilize specific modules based on your project's needs:
import { Profile } from '@grams-dev/core';
import { Wallet } from '@grams-dev/core';
Documentation
For an in-depth understanding, head over to the Grams Wiki.
Contributing and Support
Encounter a bug? Have a feature in mind? Want to contribute? Or simply have a question? Check our GitHub repository or connect with our vibrant community.
License
@grams-dev/core
operates under the Apache-2.0 License. For specifics, see the LICENSE file.