@nemnesia/symbol-sdk
v3.3.0-pure.1
Published
JavaScript SDK for interacting with the Symbol and NEM blockchains.
Maintainers
Readme
@nemnesia/symbol-sdk
Node.js・ブラウザ・React Native対応のSymbol公式SDK移植版(symbol-sdk公式 ベース)
概要
このパッケージは symbol-sdk 公式リポジトリをベースに、Node.js だけでなくモダンブラウザ(ES2020以降)、さらに React Native でも動作するよう再構成した TypeScript/JavaScript SDK です。
主な変更点
暗号処理の依存先をNode.js組込から@noble系へ移行
- 乱数生成: Node.js標準の
crypto.randomBytesから、@noble/hashes/utils.jsのrandomBytesへ変更 - HMAC生成: Node.js標準の
crypto.createHmacから、@noble/hashes/hmac.jsのhmacへ変更 - RIPEMD160: Node.js標準の
ripemd160から、@noble/hashes/legacy.jsのripemd160へ変更 BIP32/BIP39関連 - ニーモニック生成: 従来の
bitcore-mnemonicから、@scure/bip39へ変更 - MessageEncoder
encode/tryDecodeなど暗号化部分を非同期メソッド化
Buffer完全排除
インストール
Node.js、ブラウザ、React Native いずれの環境でも利用可能です。
# npm
npm install @nemnesia/symbol-sdk
# pnpm
pnpm add @nemnesia/symbol-sdk
# yarn
yarn add @nemnesia/symbol-sdkクイックスタート
import { PrivateKey } from '@nemnesia/symbol-sdk';
import { SymbolFacade } from '@nemnesia/symbol-sdk/symbol';
// ランダムな秘密鍵生成
const privateKey = PrivateKey.random();
// アカウント生成
const facade = new SymbolFacade('testnet');
const account = facade.createAccount(privateKey);
console.log('privateKey:', account.keyPair.privateKey.toString());
console.log('publicKey :', account.publicKey.toString());
console.log('address :', account.address.toString());TypeScriptでもそのまま利用できます。
注意事項
- 公式symbol-sdkと一部APIや挙動が異なる場合があります。
- 暗号処理や依存パッケージの違いにより、完全な互換性は保証されません。
ライセンス
MIT License
