ETH
是真实的虚拟数字货币,部署合约时需要消耗真金白银。ETH
可以通过做任务获得。创建genesis.json
文件:
{
"config":{
"chainId": 18,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc": {
},
"coinbase":"0x0000000000000000000000000000000000000000",
"difficulty":"0x2",
"extraData":"",
"gasLimit":"0xffffffff",
"nonce":"0x0000000000000042",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
coinbase
:挖矿后获得奖励的账户地址difficulty
:挖矿难度gasLimit
:一个区块所能容纳gas
的上限,智能合约指令在执行时需要消耗gas
,,可通过以太币自动兑换nonce
:随机值mixhash
:一个256位的hash
证明,与nonce
相结合,验证本块的有效性extraData
:附加信息,随意填写parentHash
:前一块的hash
值,创世块的parentHash
值为0初始化指令
geth init genesis.json --datadir ./data
init
:初始化关键字datadir
:指定数据存储位置# 添加环境变量(若已添加环境变量,可跳过此步)
export PATH=$HOME/geth-home:$PATH
echo `export PATH=$HOME/geth-home:$PATH` >> ~/.bashrc
# 启动Geth节点
geth --datadir ./data --networkid 18 --port 30303 --rpc --rpcport 8545 --rpcapi 'db,net,eth,web3,personal' --rpcaddr 192.168.19.129 --rpccorsdomain '*' --gasprice 0 --allow-insecure-unlock console 2> 1.log
datadir
:指定之前第二步初始化的数据目录文件networkid
:配置成与第一步genesis.json
配置文件config
内的chainId
相同值,代表加入哪个网络,私网随意编号即可port
:P2P端口,即:节点之间互相通信的端口http
:开启远程调用服务rpcport
:远程服务端口,默认值为8545
rpcapi
:远程服务提供的远程调用函数集rpcaddr
:默认值为localhost
,只允许本机连接;如果需要允许其他机器连接的话,这里要指定当前机器的ip
rpccorsdomain
:指定可以接收请求来源的域名列表(浏览器访问,必须开启)gasprice
:gas的单价allow-insecure-unlock
:允许在Geth
命令窗口解锁账户console
:进入控制台2 > 1.log
:UNIX系统下的重定向,将Geth
产生的日志输出都重定向到1.log
中,以免刷日志影响操作
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。