This library provides supports for libonomy transaction signing and broadcasting.
In order to fully use this library, you need to run a local or remote full node and set up its rest server.
npm install @libonomy/cuspstakejs
yarn add @libonomy/cuspstakejs
This version does not support browsers
const cuspstakejs = require("@libonomy/cuspstakejs");
- Generate address from mnemonic
const cuspstakejs = require("@libonomy/cuspstakejs");
const chainId = "testnet";
const libonomy = cuspstakejs.network("YOUR_NODE_URL", chainId);
const mnemonic = "YOUR_SEED_PHRASE";
libonomy.setPath("m/44'/118'/0'/0/0"); //hd path for libonomy
const address = libonomy.getAddress(mnemonic);
const ecpairPriv = libonomy.getECPairPriv(mnemonic);
Generate ECPairPriv value that is needed for signing signatures
const ecpairPriv = libonomy.getECPairPriv(mnemonic);
Transfer LIBOCOIN to designated address.
- Make sure to input proper type, account number, and sequence of the libonomy account to generate StdSignMsg. You can get those account information on blockchain
libonomy.getAccounts(address).then(data => {
let stdSignMsg = libonomy.newStdMsg({
msgs: [
{
type: "cusp-sdk/MsgSend",
value: {
amount: [
{
amount: String(100), // 6 decimal places ( 1 LBY = 1000000flby)
denom: "flby" // coin denomination is flby
}
],
from_address: address,
to_address: "libonomy18vhdczjut44gpsy804crfhnd5nq003nz0nf20v"
}
}
],
chain_id: chainId,
fee: { amount: [ { amount: String(20000), denom: "flby" } ], gas: String(200000) },
memo: "MY_LIB_TEST_MEMO",
account_number: String(data.result.value.account_number),
sequence: String(data.result.value.sequence)
});
...
})
Sign transaction by using stdSignMsg and broadcast by using /txs REST API
const signedTx = libonomy.sign(stdSignMsg, ecpairPriv);
libonomy.broadcast(signedTx).then((response) => console.log(response));
Validate Wallet Address
libonomy.validateAddress("libonomy1da4v3fxy3xkkgqr5g60cjmcpvjcjdd5e4m0qwa");
Wallet Address Balance
libonomy.getAddressBalance("libonomy1da4v3fxy3xkkgqr5g60cjmcpvjcjdd5e4m0qwa");
Create New Account
libonomy.createAccount(length);
Note: You can pass mnemonics length as an argument in this function 12 or 24.
Restore Account with 12 or 24 Mnemonics
libonomy.restoreAccountWithMnemonics(mnemonics);
Convert hex adress to libonomy bech32 address
libonomy.hextoBech32('0x4CEd1f9BF68796D468d4a126cD31085CdBe89300');
Note: Address should be in hex format.
Convert libonomy bech32 adress to hex address
libonomy.bech32toHex('libonomy1fnk3lxlks7tdg6x55ynv6vggtnd73ycqun3rf4');
Note: Address should be in libonomy bech32 format.
This library is simple and easy to use. We don't have any formal documentation yet other than examples. Ask for help if our examples aren't enough to guide you