GithubHelp home page GithubHelp logo

247521776 / band-crypto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bandprotocol/band-crypto

0.0 0.0 0.0 677 KB

JavaScript library for IRIS Hub and Cosmos Hub

License: Apache License 2.0

JavaScript 100.00%

band-crypto's Introduction

band-crypto

JavaScript library for IRIS Hub, Cosmos Hub, and BandChain. It mainly provides account generation, transaction construction and offline signing functions of irisnet, cosmos, and band You can install this library in the following ways

npm install git+https://github.com/bandprotocol/band-crypto.git

Examples

import package

import Band from "band-crypto";

Account

The first step, you need to explain whether the generated wallet is iris, cosmos, or band

let crypto = Band.getCrypto("band");
generate account
let account = crypto.create("your language");
// account: {"address":"faa1e4y8urzgjd82447ydlw9tszsm2lxfwdr5hxj4a","phrase":"carbon when squeeze ginger rather science taxi disagree safe season mango teach trust open baby immune nephew youth nothing afraid sick prefer daughter throw","privateKey":"436EB1ACE1D9D8F4EA519D050FF16ADD4B9CAF3D6D0917411857318259022EFF","publicKey":"fap1addwnpepqw36efnhzgurxaq3mxsgf4fjm280dehh20w03u3726arm0deagne5u254g2"}

The create method has a parameter:language,Used to specify the generated mnemonic language.The default is 'english'.You have the following options to choose from:

  • chinese_simplified
  • japanese
  • spanish
  • english

We recommend choosing 'english'

recovery account

via mnemonic

let account = crypto.recover("your seed", "your language");

or via privateKey

let account = crypto.import("your privateKey");

The difference between the above two is that the latter does not return the mnemonic of the account.

Transaction

Construct a transaction and sign

let builder = Band.getBuilder("band");
let stdTx = builder.buildAndSignTx("your request", "your privateKey");
let postTx = stdTx.GetData();
let hash = stdTx.Hash();

buildAndSignTx has two parameters:

  • request : transaction content,specific instructions are as follows:
    • chain_id : blockchain's chain_id(example:fuxi/irishub/gaia-13001 etc.)
    • from : transaction originator address(example:faa1ljemm0yznz58qxxs8xyak7fashcfxf5lssn6jm)
    • account_number : you can get it from lcd's 'auth/accounts/'
    • sequence : you can get it from lcd's 'auth/accounts/'
    • fees : transaction fee
    • gas : gas limit
    • memo : transaction description
    • type : transaction type,iris support the following values
      • transfer
      • delegate
      • unbond
      • redelegate
      • withdrawDelegationRewardsAll
      • withdrawDelegationReward
    • msg : message content
  • privateKey : your privateKey

GetData will return the constructed and signed transaction,you can call lcd's 'tx/broadcast'(cosmos:/txs) to send the transaction.

Hash is used to calculate the hash of the transaction,prevent server response from being unavailable due to timeout. You can use hash to confirm if the transaction was successful.For specific usage, please refer to the test case

Requirements

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.