The following instructions assume you have a project already created, and you have npm
installed and operable.
$ npm install idena-js
import { Idena, LocalKeyStore } from "idena-js";
import { Idena, LocalKeyStore } from "idena-js";​const provider = new LocalKeyStore();const idena = new Idena(provider);
This will import your private key in memory letting idena
object to sign transaction using such key.
const provider = new LocalKeyStore();const idena = new Idena(provider);
This will import your private key in memory letting idena
object to sign transaction using such key.
const privateKey = "6a666fb86f57ca37c333768982047781a4a2c31a902a89ee8c2b5bc7e12da444";const provider = new LocalKeyStore(privateKey);const idena = new Idena(provider);
The transfer
operation requires an idena
object with an imported key having some funds.
const to = "0xab5801a7d398351b8be11c439e05c5b3259aec9b";const amount = 0.001;const operation = await idena.transfer({ amount, to });console.log(`Hash: ${operation.hash}`);
When a transaction is injected an Operation
object is returned. You can use the confirmation
method to wait for an operation confirmation.
const to = "0xab5801a7d398351b8be11c439e05c5b3259aec9b";const amount = 0.001;const operation = await idena.transfer({ amount, to });await operation.confirmation();console.log(`Hash: ${operation.hash}`);
You can also send more transactions in bulk.
let operations = await idena.bulkTransactions([{ amount: 6.12, to: "0xab5801a7d398351b8be11c439e05c5b3259aec9b" },{ amount: 2.12, to: "0xf8db1ee1be12b28aa12477fc66b296dccfa66609" },{ amount: 4.93, to: "0xbe314949e2b9d14c27fa6785323f7cfc9250f92a" }]);operations = await Promise.all(operations.map(op => op.confirmation()));operations.forEach(op => console.log(`Hash: ${op.hash}`));
Following example shows how to retrieve balance and stake (where stake are the balance plus the frozen DNA due staking/mining activity).
const address = "0xcf979f9472e38d45c577394747a3028ea7433bb5";const { balance, stake } = await idena.getBalanceByAddress(address);console.log(balance, stake);
This method returns an Identity object about identity address.
const address = "0xcf979f9472e38d45c577394747a3028ea7433bb5";const identity = await idena.getIdentityByAddress(address);console.log(identity);
const address = await idena.getProvider().getAddress();
const epoch = await idena.getProvider().getEpoch();