# Examples when using sdk

```
/**
 * examples when using sdk
 **/

const {XEKSdk, Utils, API, Wallet} = require('../index');

(async () =>{
  
  const uri = '';
  const txHash = '';
  const sender = '';
  const receiver = '';
  const amount = 10000;
  const privateKey = '';
  const chainId = '';
  
  //using API
  const api = new API('http://172.16.1.250:3000');
  let block = await api.getBlock(1);
  let transaction = await api.getTransaction(txHash);
  let sequence = await api.getSequence(sender);
  let balance = await api.getBalance(receiver);
  let fee = await api.getTransactionFee();
  let history = await api.getGetHistoryTransaction(sender);
  
  //wallet
  let newWallet = await Wallet.generateWallet('test', `123456789`);
  let rawPrivateKey = await Wallet.decryptWallet(newWallet.keyEncrypt , '123456789');
  let cipherText = await Wallet.encryptWallet(rawPrivateKey.privateKey, 'abcabc');
  let walletRestore = await Wallet.restoreWallet(newWallet.mnemonic, 'restore', '123123');
  let getAddress = await Wallet.getAddressFromPublicKey(newWallet.publicKey);
  let pubKey = await Wallet.getPublicKeyOffline(rawPrivateKey.privateKey, 1);
  let sign = await Wallet.signatureOffline(tx, rawPrivateKey.privateKey);
  
  //Sdk
  const sdk = new XEKSdk(chainId, uri);
  let txResult = await sdk.createSendTx(sender, receiver,amount, privateKey);
  
  
}).catch(err => console.log(err));

```
