geth命令简单使用
工作过程中的常用命令及选项。直接开撸!
命令
- attach 连接一个已启动的节点并启动JS交互命令行。
$ geth attach --datadir chian
连接以
./chain为目录的节点。
- console 以JS交互命令行启动。
$ geth --datadir chain console
启动以
./chain为目录的节点,并打开JS交互命令行。
- init 初始化一个新的节点
$ get --datadir chain init mygenesis.json
以
./chain为目录的节点,以mygenesis.json配置,初始化节点。
特别说明的是,私有链才需要init初始化,如果连接以太坊主网或者测试网(ropsten/rinkeby)是不需要初始化的。
选项
- --datadir 指定节点数据存储目录,具体例子看其它命令。默认在主目录下
~/.ethereum/。 - --networkid 指定网络id,默认是1,即以太坊主网。3为ropsten,4为rinkeby。
- --testnet 指定网络为ropsten,与
--networkid 3等效。 - --rinkeby 指定网络为rinkeby,与
--networkid 4等效。 - --rpc 启用HTTP-RPC服务。与下面rpc其它选项联合使用。
- --rpcaddr <server-inerface> 指定服务器接口,默认
localhost。 - --rpcport <server-port> 指定服务器端口,默认
8545。 - --rpcapi <api info> 指定服务器提供的接口,例如
"eth,net"。 - --rpccorsdomain <domains> 指定接收连接的domains,一般设置为
"*"。 - --mine 启用挖矿。
- --miner.threads <value> 指定挖矿使用cpu线程个数。
- --miner.gasprice <value> 挖矿的交易中能接受的最小gas价格,默认1000000000。
- --miner.gastarget <value> 挖矿的块最小gas总额,默认8000000。这个只是目标最小额,如果交易过少达不到,也会挖矿。
- --miner.gaslimit <value> 挖矿的块最大gas总额,默认8000000。设置了这个,会随着挖块的进行,将块允许的最大gas总额提高到指定值。
- --miner.etherbase <value> 指定挖矿奖励账户,默认是第一个账户,即accounts[0]。
- --miner.extradata <value> 指定块信息,默认为当前geth版本号。
- --miner.recommit <value> 指定重新创建块的时间间隔,默认3s。
- --miner.noverify 禁止远程密封验证(sealing verification),这个功能不太清楚。
- --light.maxpeers <value> 指定轻节点客户端的最大个数。默认100。
- --maxpeers <value> 指定连接的节点个数,默认50。设置为0即不连接其它节点。
- --maxpendpeers <value> 指定等待连接尝试的个数,默认0,即不限制。
- --syncmode <value> 指定同步模式,
fast/full/light,默认为fast。
举例
$ geth --datadir chain --rpc --rpcport 8454 --rpcaddr "0.0.0.0" --rpcapi "eth,net,web3" --rpccorsdomain "*" --syncmode "light" --maxpeers 100 2>> geth.log
以
./chain为目录,同步一个以太坊主网的轻节点。
轻节点不同步块的具体内容,所以同步比较快,满足一般用户或者开发者的使用。
总结
作为矿工节点的话,还需要设置--cache等一些选项。详细命令和选项可以通过geth --help查看。如有其它疑问,欢迎联系博主共同探讨学习。