JSPM

@d11k-ts/dojima

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q24200F
  • License ISC

dojima module for d11k chain

Package Exports

  • @d11k-ts/dojima
  • @d11k-ts/dojima/lib/index.esm.js
  • @d11k-ts/dojima/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@d11k-ts/dojima) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@d11k-ts/dojima

Modules

  • client - Custom client for communicating with Dojima by using web3 and ethers

Installation

yarn add @d11k-ts/dojima

Documentation : Basic usage examples

Connect wallet to new DojimaClient

  • Create new DojimaClient client
  • Network default is Mainnet
  • InfuraApiKey: Optional (Api key provided by 'Infura' for mainnet calls. Sign up for getting one)
// Imports
import {Network} from '@d11k-ts/client'
import {DojimaClient} from '@d11k-ts/dojima'

//Connect wallet, validate address and check balance 
const connectWallet = async () => {
  let phrase = "phrase"
  // Mainnet
  const dojClient = new DojimaClient({
    phrase
  })
  // DojTestnet
  // const dojClient = new DojimaClient({ 
  //    phrase, 
  //    network: Network.DojTestnet,
  //    rpcUrl: 'https://api-test.d11k.dojima.network:8545/',
  //  })
  let address = dojClient.getAddress()
  try {
    const balance = await dojClient.getBalance(address)
    console.log(`Adress: ${address} with balance ${balance}`)

  } catch (error) {
    console.log(`Caught: ${error} `)
  }
}

Transfer doj using DojimaClient

  • Create new DojimaClient instance
  • Returns txHash as string
  • Note: Uses only required gas for Tx and remaining will be sent back
const transferDoj = async () => {
  // First initiate DojimaClient
  let amount = 0.001
  let recipient = 'insert address'
  console.log("Building transaction")
  try {
    const txid = await dojClient.transfer({
      amount,
      recipient,
      // fee: number,  // optional. Calculated by default(if not provided) based on input amount.
      // memo: string,  // optional
    })
    console.log(`Transaction sent: ${txid}`)
    return txid
  } catch (error) {
    console.log(`Caught: ${error} `)
  }
}

Get transaction Data

  • Create new DojimaClient instance
  • Call getTransactionData(hash) returns hash-details
// Retrieve transaction data for a particular hash
const transactionData = async () => {
  let hash = "insert hash"
  try {
    const txData = await dojClient.getTransactionData(
      hash,
    )
    console.log(`Transaction data ${txData}`)
  } catch (error) {
    console.log(`Caught: ${error} `)
  }
}

Get transfer Fees estimations

  • Retrieve estimated gas fees from dojima client
// Retrieve fee estimations from transaction parameters
const feeEstimations = async () => {
  let amountToTransfer = 0.001
  try {
    const fees = await dojClient.gasFees({
      amount: amount,
      // memo: string          // optional
    })
    console.log(`Fees : ${fees}`)

  } catch (error) {
    console.log(`Caught: ${error} `)
  }
}

Example Code

For sample code check out example test case in ./examples/test.ts