@abumostafa/cardano-cli 中文文档教程
CardanoCliJS
Installation
npm i --save @abumostafa/cardano-cli
Usage
初始化
import { CardanoCli } from "@abumostafa/cardano-cli" const cli = new CardanoCli({ binPath: "/path/to/cardano-cli", // default is cardano-cli storageDir: path.resolve(__dirname, "storage"), // storage path for keys, transactions, etc., network: "mainnet", // "mainnet" || "testnet-magic 1097911063", shelleyGenesis: "/path/to/shelley-genesis.json" })
地址
- key-gen
const keys = cli.address.keyGen({ account: "Ahmed", fileName: "wallet0" }) // output: { vkey: "/path/to/wallet0.payment.vkey", skey: "/path/to/wallet0.payment.skey" }
- build
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0" }) // output: /path/to/wallet0.payment.addr
- build signed
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0", signing: true }) // output: /path/to/wallet0.payment.addr
- keyHash
const keyHash = cli.address.keyHash({ account: "Ahmed", vkeyFileName: "verification-key-file-name" }) // output: cb64ffbb1...
权益地址
- key-gen
const keys = cli.address.keyGen({ account: "Ahmed", fileName: "wallet0" }) // output: { vkey: "/path/to/wallet0.stake.vkey", skey: "/path/to/wallet0.stake.skey" }
- build
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0" }) // output: /path/to/wallet0.stake.addr
- build signed
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0", signing: true }) // output: /path/to/wallet0.stake.addr
查询
- tip
const tip = cli.query.tip() // output: { slot: 1123123, ... }
- utxo
const utxos = cli.query.utxo({ address: "addr..." }) // output: [{ txId: "", txHash, lovelace: 200000, assets: [{ type: "policy.name", querntity: 1 }]}]
- protocol parameters
const params = cli.query.protocolParameters() // output: /path/to/protocol-parameters.json
交易
- build raw
js const raw = cli.transaction.buildRaw({ txIn: [{ txId, txHash }], txOut: [{ address, lovelace, assets: [{ type: "policy.name", quantity: 1 }] }], }) // output: /path/to/transactions/now-raw.json
- calculate min fees
js const fee = cli.transaction.calculateMinFee({ txBody: "/path/to/transactions/now-raw.json" }) // output: 12345456 // lovelace
- sign
js const signed = cli.transaction.sign({ txBody: "/path/to/transactions/now-raw.json", signingKeys: ["/path/to/payment.skey"] }) // output: /path/to/transactions/now-signed.json
- submit
js const txHash = cli.transaction.submit({ tx: "/path/to/transactions/now-signed.json", }) // output: cb64ffbb1...
- view
js const txHash = cli.transaction.view({ txFile: "/path/to/transactions/now-signed.json", }) // output: cb64ffbb1...
- policyId
js const txHash = cli.transaction.policyId({ scriptFile: "/path/to/policies/policy.script", }) // output: cb64ffbb1...
- txid
js const txHash = cli.transaction.txid({ txFile: "/path/to/transactions/now-signed.json", }) // output: cb64ffbb1...
- build raw
CardanoCliJS
JS wrapper for cardano-node-cli
Installation
npm i --save @abumostafa/cardano-cli
Usage
initialize
import { CardanoCli } from "@abumostafa/cardano-cli" const cli = new CardanoCli({ binPath: "/path/to/cardano-cli", // default is cardano-cli storageDir: path.resolve(__dirname, "storage"), // storage path for keys, transactions, etc., network: "mainnet", // "mainnet" || "testnet-magic 1097911063", shelleyGenesis: "/path/to/shelley-genesis.json" })
address
- key-gen
const keys = cli.address.keyGen({ account: "Ahmed", fileName: "wallet0" }) // output: { vkey: "/path/to/wallet0.payment.vkey", skey: "/path/to/wallet0.payment.skey" }
- build
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0" }) // output: /path/to/wallet0.payment.addr
- build signed
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0", signing: true }) // output: /path/to/wallet0.payment.addr
- keyHash
const keyHash = cli.address.keyHash({ account: "Ahmed", vkeyFileName: "verification-key-file-name" }) // output: cb64ffbb1...
stake-address
- key-gen
const keys = cli.address.keyGen({ account: "Ahmed", fileName: "wallet0" }) // output: { vkey: "/path/to/wallet0.stake.vkey", skey: "/path/to/wallet0.stake.skey" }
- build
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0" }) // output: /path/to/wallet0.stake.addr
- build signed
const paymentAddr = cli.address.build({ account: "Ahmed", fileName: "wallet0", signing: true }) // output: /path/to/wallet0.stake.addr
query
- tip
const tip = cli.query.tip() // output: { slot: 1123123, ... }
- utxo
const utxos = cli.query.utxo({ address: "addr..." }) // output: [{ txId: "", txHash, lovelace: 200000, assets: [{ type: "policy.name", querntity: 1 }]}]
- protocol parameters
const params = cli.query.protocolParameters() // output: /path/to/protocol-parameters.json
transaction
- build raw
js const raw = cli.transaction.buildRaw({ txIn: [{ txId, txHash }], txOut: [{ address, lovelace, assets: [{ type: "policy.name", quantity: 1 }] }], }) // output: /path/to/transactions/now-raw.json
- calculate min fees
js const fee = cli.transaction.calculateMinFee({ txBody: "/path/to/transactions/now-raw.json" }) // output: 12345456 // lovelace
- sign
js const signed = cli.transaction.sign({ txBody: "/path/to/transactions/now-raw.json", signingKeys: ["/path/to/payment.skey"] }) // output: /path/to/transactions/now-signed.json
- submit
js const txHash = cli.transaction.submit({ tx: "/path/to/transactions/now-signed.json", }) // output: cb64ffbb1...
- view
js const txHash = cli.transaction.view({ txFile: "/path/to/transactions/now-signed.json", }) // output: cb64ffbb1...
- policyId
js const txHash = cli.transaction.policyId({ scriptFile: "/path/to/policies/policy.script", }) // output: cb64ffbb1...
- txid
js const txHash = cli.transaction.txid({ txFile: "/path/to/transactions/now-signed.json", }) // output: cb64ffbb1...
- build raw