创世区块
1 | { |
初始化创世节点:
geth –datadir ./data init genesis.json
启动节点
geth –datadir ./data –networkid 15 –port 30303 –rpc –rpcaddr 0.0.0.0 –rpcport 8545 –rpcapi ‘db,net,eth,web3,personal’ –rpccorsdomain ‘*’ –nat “any” –nodiscover console
💡 千万注意引号是英文的 特别坑
GETH命令参数详解
| geth命令参数 | 参数含义 |
|---|---|
| console | 指启动节点后启用交互式js命令行 |
| datadir | 指定数据存放目录 |
| networkid | 以太坊网络标识符,1代表主网,3Ropsten,4Rinkeby,34都为测试网, 默认为1,填个大点的代表私有链 |
| port | 网卡监听端口号,不同计算机节点通过这个连接 |
| –rpc | 启用http-rpc服务器,允许远程指令访问 |
| rpcaddr 0.0.0.0 | 允许任意有效的ip地址连接 |
| rpcport | http-rpc服务器监听端口,即geth启动rpc服务的端口为8545(默认值) |
| rpcapi | 提供的可供调用的api模块 |
| rpccorsdomain | 可以跨域访问的域名列表 (浏览器想连接上geth需要有此项), *代表所有 |
| nat | 端口映射机制,默认any |
| nodiscover | 禁用节点发现机制(手动添加节点) |
| –identity | 自定义节点名‘name’ |
| –dev | 开发者模式,自动分配一个不需要解锁的账户而且会得自动挖矿 |
–dev 使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。–dev可以不用创世块初始化
创世块中调节挖矿难度
–dev.period value | value为开发者模式下挖矿周期(0 = 仅在交易时)(默认: 0)
geth –datadir ./data –networkid 15 –port 30303 –rpc –rpcaddr 0.0.0.0 –rpcport 8545 –rpcapi ‘db,net,eth,web3,personal’ –rpccorsdomain ‘*’ –nat “any” –nodiscover –identity “superman285” console 2>gethprint.log
信息不打印在命令行中,而是输出到gethprint.log文件中,
这时如果用miner.start() 会打出null而不是true,但是也开始挖矿了
geth命令参数详解:http://www.cnblogs.com/tinyxiong/p/7918706.html
geth的控制台可以定义变量,用js语法,可用var
常用:eth.accounts | eth.accounts[index]
eth.blockNumber
eth.getBalance(eth.accounts[0])
personal.newAccount(“password”)
personal.unlockAccount(address) | 可以address = eth.accounts[0]
miner.start() | miner.stop()
转账
eth.sendTransaction({from:user1,to:user2,value:web3.toWei(10,“ether”)})
转账10个eth,需要挖矿才能确认交易
单位换算
web3.toWei(10,“ether”)
geth指令 启动节点时如果带了 –dev 开发者模式 可以不用创世块genesis block来初始化 ?
