npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jcc-ethereum-tool

v0.0.10

Published

jccdex jcc ethereum tool

Downloads

11

Readme

jcc-ethereum-tool

npm Build Status npm downloads

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")'