2020-02-08 20:16:43 +01:00
..
2020-02-06 17:36:14 +01:00
2020-02-08 20:16:43 +01:00
2020-02-06 17:36:14 +01:00
2020-02-06 17:36:14 +01:00
2020-02-06 17:36:14 +01:00
2020-02-07 09:35:24 +01:00
2020-02-08 20:16:43 +01:00
2020-02-06 17:36:14 +01:00
2020-02-06 17:36:14 +01:00
2020-02-06 17:36:14 +01:00

@cosmwasm/cli

npm version

Installation and first run

The cosmwasm-cli executable is available via npm. We recommend local installations to your demo project. If you don't have one yet, just mkdir cosmwasm-cli-installation && cd cosmwasm-cli-installation && yarn init --yes.

locally with yarn

$ yarn add @cosmwasm/cli --dev
$ ./node_modules/.bin/cosmwasm-cli

locally with npm

$ npm install @cosmwasm/cli --save-dev
$ ./node_modules/.bin/cosmwasm-cli

globally with yarn

$ yarn global add @cosmwasm/cli
$ cosmwasm-cli

globally with npm

$ npm install -g @cosmwasm/cli
$ cosmwasm-cli

Getting started

  1. Install @cosmwasm/cli and run cosmwasm-cli as shown above
  2. Start a local wasmd blockchain
  3. Start with ./bin/cosmwasm-cli --init examples/local_faucet.ts
  4. Play around as in the following example code
// Get account information
const account = (await client.authAccounts(faucetAddress)).result.value;

// Craft a send transaction
const emptyAddress = Bech32.encode("cosmos", Random.getBytes(20));
const memo = "My first contract on chain";
const sendTokensMsg: types.MsgSend = {
  type: "cosmos-sdk/MsgSend",
  value: {
    from_address: faucetAddress,
    to_address: emptyAddress,
    amount: [
      {
        denom: "ucosm",
        amount: "1234567",
      },
    ],
  },
};

const signBytes = makeSignBytes([sendTokensMsg], defaultFee, defaultNetworkId, memo, account);
const signature = encodeSecp256k1Signature(pen.pubkey, await pen.createSignature(signBytes));
const signedTx: types.StdTx = {
    msg: [sendTokensMsg],
    fee: defaultFee,
    memo: memo,
    signatures: [signature],
  }
const postResult = await client.postTx(marshalTx(signedTx));

Other example codes

Create random mnemonic and Cosmos address

const mnemonic = Bip39.encode(Random.getBytes(16)).toString();
const pen = await Secp256k1Pen.fromMnemonic(mnemonic);
const pubkey = encodeSecp256k1Pubkey(pen.pubkey);
const address = encodeAddress(pubkey, "cosmos");

License

This package is part of the cosmwasm-js repository, licensed under the Apache License 2.0 (see NOTICE and LICENSE).