记录几个非常好的学习的地址:
1.https://blog.csdn.net/sportshark/article/category/6278182
2.http://www.cocoachina.com/cms/wap.php?action=article&id=22592
安装geth客户端
下载地址:https://geth.ethereum.org/downloads/
初始化以太坊创世块
在刚刚Geth安装目录下创建新文件夹private_net,在其中放置创世块文件,名字为genesis.json.
文件内容:
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x40000",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": { }
}
初始化私有链
geth --datadir "F:\Ethereum-Mist\Geth\private_net" init "F:\Ethereum-Mist\Geth\genesis.json"
说明:datadir 选项用来指定我们私链的数据目录,init 命令为创世命令,后面紧跟着我们的创世配置文件路径
查看创建好的链
geth --datadir ""F:\Ethereum-Mist\Geth\private_net" --port 30303 --networkid15 --nodiscover console
启动Geth即可以启动以太坊的区块链,为了构建私有链 ,可以按照个人需要在Geth启动时加入一些参数,Geth参数含义如下:
identity | 区块链的标示,随便填写,用于标示目前网络的名字 |
init | 指定创世块文件的位置,并创建初始块 |
datadir | 设置当前区块链网络数据存放的位置 |
port | 网络监听端口 |
rpc | 启动rpc通信,可以进行智能合约的部署和调试 |
rpcapi | 设置允许连接的rpc的客户端,一般为db,eth,net,web3 |
networkid | 设置当前区块链的网络ID,用于区分不同的网络,是一个数字 |
console | 启动命令行模式,可以在Geth中执行命令 |
链上的一些操作
1.查看所有账户:personal.listAccounts
2.创建账户:personal.newAccount("将要创建的账户的密码")
3.挖矿
miner.start()
开始挖矿,默认的是创建的第一个账号的地址,其中start可以设置参数,表示挖矿使用的线程数。第一次启动挖矿会先生成挖矿所需的DAG文件,等进度达到100%后,就会开始挖矿
miner.stop()
停止挖矿,返回true
4.查询账户余额
first=eth.accounts[0]
将第一个账户赋值给first
eth.getBalance(first)
查询余额
5.转账
personal.unlockAccount(账户名)
解锁账户,之后才可以用该账户转出钱币
eth.sendTransaction({from:第一个账户, to:第二个账户, value:交易金额})
执行交易