jcc-ethereum-tool 是一个命令行工具,可以快速的通过参数或者配置文件形式操作 ETH 链,实现转账...

栏目: IT技术 · 发布时间: 4年前

内容简介:jcc-ethereum-tool 是一个命令行工具,可以快速的通过参数或者配置文件形式操作 ETH 链,实现转账,查询余额,ERC20,ERC721 等通证操作。本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

jcc-ethereum-tool 是一个命令行工具,可以快速的通过参数或者配置文件形式操作 ETH 链,实现转账,查询余额,ERC20,ERC721 等通证操作。

https://github.com/JCCDex/jcc-ethereum-tool jcc-ethereum-tool is a command tool, which is can be use to transfer, query balance, manipute ERC20, ERC721 by parameters or config file.

jcc-ethereum-tool 是一个命令行工具,可以快速的通过参数或者配置文件形式操作 ETH 链,实现转账,查询余额,ERC20,ERC721 等通证操作。

Installation 安装

sudo npm install -g jcc-ethereum-tool --unsafe-perm=true

wallet and configuration 钱包和配置

在用户的目录下存在.jcc-ethereum-tool/config.json 文件,类似配置

{ "server" : "http://localhost:8546", "network" : 101, "gasPrice" : 20000000000, "gasLimit" : 20000 "wallet" : {"address": "0x1234", "secret": "0x1223"} }

注意:不能确认在安全情况下,不要在配置文件中使用明文保存密钥,尽量使用 keystore 文件

用户可以指定配置文件路径

jcc-ethereum-tool --config myconfig.json

normal operation 常规操作

  • 创建钱包

jcc-ethereum-tool --wallet_create

  • 创建钱包并保存为 keystore 文件

jcc-ethereum-tool --wallet_create --save_wallet

  • 导入私钥存为 keystore 文件

jcc-ethereum-tool --import_private_to_keystore

  • 获取余额

jcc-ethereum-tool --network 99 --balance 0x1111 --server http://localhost:8545

  • 转账
# 从配置 (config.json) 的钱包向目的地址转账
jcc-ethereum-tool --transfer 0x2222 --amount 0.000001 --network 101
  • 查询区块

jcc-ethereum-tool --block latest 或者 jcc-ethereum-tool --block 1234

  • 查询交易

jcc-ethereum-tool --transaction 0xbb15e089f12c9d4fcd82e47c3d3b56940c9ad6e51a9c7b5dfec4337f5fb4f58e

  • 查询交易收据

jcc-ethereum-tool --receipt 0xbb15e089f12c9d4fcd82e47c3d3b56940c9ad6e51a9c7b5dfec4337f5fb4f58e

  • 发行合约

jcc-ethereum-tool --deploy "./MAYAToken.json" --gas_limit 3800000 --gas_limit 800000 --parameters '"parameter1","parameter2"'

// 合约大小会影响gas limit,所以请自己设置合适的gas limit // 其次是创建合约可能是有参数的,请按照参数顺序在--parameters中设置

  • 任意合约的方法调用

jcc-ethereum-tool 支持任意合约的调用,一般来说需要以下几个参数

  • 指定 abi 文件,便于解析各种调用签名和参数,可以指定成自己的 abi 文件
  • 对于修改账本的调用,gas 数量需要自己指定,默认是 20000,gasPrice 默认 20G
  • 数量尤其是小数位的推算,可以自己使用 chain3 的函数运算
  • 为支持 ens,增加了 namehash 函数支持

ERC20 的操作

  • 获取基本信息

jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "name" jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "symbol" jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "decimals" jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "totalSupply"

  • 获取钱包余额

jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "balanceOf" --parameters '"0xaddress......"' // 请注意 地址参数分别用单双引号,是为了传递正确的地址

  • ERC20 的转账

jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "transfer" --parameters '"0xaddress.....",chain3.toSha("23.1")' // chain3.toSha("23.1") 这个可以利用函数转义方式将ERC20的数量展开,但是ERC20也有不是标准的18位小数的,如果需要自行处理小数位,要书写成下面的样子 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "transfer" --parameters '"0xaddress.....",BigNumber(23.1*10**18)'

  • ERC20 的授权转账

// 授权0x5d819874014dfc29ec6d56caacc4e95f2dd33352从指定账户转账额度 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --keystore keystorefile.json --password yourkeystorepassword --gas_limit 50000 --method "approve" --parameters '"0xspender address", chain3.toSha("333")'

// 查询授权数量 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "allowance" --parameters '"0xowner address","0xspender address"'

// 授权转账 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --keystore keystorefile.json --password yourkeystorepassword --gas_limit 50000 --gas_price 1000000000 --method "transferFrom" --parameters '"0xowner address","0xdestination address", chain3.toSha("300")'

https://github.com/JCCDex/jcc-ethereum-tool jcc-ethereum-tool is a command tool, which is can be use to transfer, query balance, manipute ERC20, ERC721 by parameters or config file.

jcc-ethereum-tool 是一个命令行工具,可以快速的通过参数或者配置文件形式操作 ETH 链,实现转账,查询余额,ERC20,ERC721 等通证操作。

Installation 安装

sudo npm install -g jcc-ethereum-tool --unsafe-perm=true

wallet and configuration 钱包和配置

在用户的目录下存在.jcc-ethereum-tool/config.json 文件,类似配置

{ "server" : " http://localhost:8546 ", "network" : 101, "gasPrice" : 20000000000, "gasLimit" : 20000 "wallet" : {"address": "0x1234", "secret": "0x1223"} }

注意:不能确认在安全情况下,不要在配置文件中使用明文保存密钥,尽量使用 keystore 文件

用户可以指定配置文件路径

jcc-ethereum-tool --config myconfig.json

normal operation 常规操作

  • 创建钱包

jcc-ethereum-tool --wallet_create

  • 创建钱包并保存为 keystore 文件

jcc-ethereum-tool --wallet_create --save_wallet

  • 导入私钥存为 keystore 文件

jcc-ethereum-tool --import_private_to_keystore

  • 获取余额

jcc-ethereum-tool --network 99 --balance 0x1111 --server http://localhost:8545

  • 转账
# 从配置 (config.json) 的钱包向目的地址转账
jcc-ethereum-tool --transfer 0x2222 --amount 0.000001 --network 101
  • 查询区块

jcc-ethereum-tool --block latest 或者 jcc-ethereum-tool --block 1234

  • 查询交易

jcc-ethereum-tool --transaction 0xbb15e089f12c9d4fcd82e47c3d3b56940c9ad6e51a9c7b5dfec4337f5fb4f58e

  • 查询交易收据

jcc-ethereum-tool --receipt 0xbb15e089f12c9d4fcd82e47c3d3b56940c9ad6e51a9c7b5dfec4337f5fb4f58e

  • 发行合约

jcc-ethereum-tool --deploy "./MAYAToken.json" --gas_limit 3800000 --gas_limit 800000 --parameters '"parameter1","parameter2"'

// 合约大小会影响gas limit,所以请自己设置合适的gas limit // 其次是创建合约可能是有参数的,请按照参数顺序在--parameters中设置

  • 任意合约的方法调用

jcc-ethereum-tool 支持任意合约的调用,一般来说需要以下几个参数

  • 指定 abi 文件,便于解析各种调用签名和参数,可以指定成自己的 abi 文件
  • 对于修改账本的调用,gas 数量需要自己指定,默认是 20000,gasPrice 默认 20G
  • 数量尤其是小数位的推算,可以自己使用 chain3 的函数运算
  • 为支持 ens,增加了 namehash 函数支持

ERC20 的操作

  • 获取基本信息

jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "name" jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "symbol" jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "decimals" jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "totalSupply"

  • 获取钱包余额

jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "balanceOf" --parameters '"0xaddress......"' // 请注意 地址参数分别用单双引号,是为了传递正确的地址

  • ERC20 的转账

jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "transfer" --parameters '"0xaddress.....",chain3.toSha("23.1")' // chain3.toSha("23.1") 这个可以利用函数转义方式将ERC20的数量展开,但是ERC20也有不是标准的18位小数的,如果需要自行处理小数位,要书写成下面的样子 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "transfer" --parameters '"0xaddress.....",BigNumber(23.1*10**18)'

  • ERC20 的授权转账

// 授权0x5d819874014dfc29ec6d56caacc4e95f2dd33352从指定账户转账额度 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --keystore keystorefile.json --password yourkeystorepassword --gas_limit 50000 --method "approve" --parameters '"0xspender address", chain3.toSha("333")'

// 查询授权数量 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --method "allowance" --parameters '"0xowner address","0xspender address"'

// 授权转账 jcc-ethereum-tool --abi erc20abi.json --contractAddr "0x2bbe1b5b974aa75369ec72200c9c7da717faa627" --keystore keystorefile.json --password yourkeystorepassword --gas_limit 50000 --gas_price 1000000000 --method "transferFrom" --parameters '"0xowner address","0xdestination address", chain3.toSha("300")'

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 25分钟前
  • 阅读 ( 6 )
  • 学分 ( 0 )
  • 分类:以太坊

以上所述就是小编给大家介绍的《jcc-ethereum-tool 是一个命令行工具,可以快速的通过参数或者配置文件形式操作 ETH 链,实现转账...》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微交互

微交互

塞弗 (Dan Saffer) / 李松峰 / 人民邮电出版社 / 2013-11-1 / 35.00元

平庸的产品与伟大的产品差就差在细节上。作者Dan Saffer将通过这本书展示怎么设计微交互,即位于功能之内或周边的那些交互细节。你的手机怎么静音?你怎么知道有新邮件了?怎么修改应用的设置?诸如此类的交互细节,既可以毁掉一个产品,也可以成就一个产品。高效而有趣的微交互 ,涉及触发器、规则、循环和模式,还有反馈。透过书中生动、真实的设备及应用示例,读者将理解微交互对于塑造产品个性、赋予产品卖点的重要......一起来看看 《微交互》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具