@libonomy/cuspstakejs
v2.3.0
Published
A JavasSript Open Source Library for signing and broadcasting transactions on libonomy
Downloads
5
Maintainers
Readme
This library provides supports for libonomy transaction signing and broadcasting.
Installation
In order to fully use this library, you need to run a local or remote full node and set up its rest server.
NPM
npm install @libonomy/cuspstakejs
Yarn
yarn add @libonomy/cuspstakejs
Browser Support
This version does not support browsers
Import
NodeJS
const cuspstakejs = require("@libonomy/cuspstakejs");
Usage
- 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.
Documentation
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