最近一直在学习区块链技术、区块链中三种链(公有链、私有链、联盟链)、
3、以太坊geth客户端(1.4.11)点击打开链接
首先,将geth客服端压缩解压,得到geth.exe放置在任意位置、(路径为英文路径)、D:\blockchain
然后在该文件夹下创建创世块的初始化文件genesis.json
内容如下
{
“difficulty”: “0x40000”,
“extraData”: “Genesis Block”,
“gasLimit”: “0xffffffff”
}
注释 “difficulty”: “0x40000”,//难度,该值越大,出块越慢。 “extraData”: “Genesis Block”,//附加信息,随意填写 “gasLimit”: “0xffffffff”//每个块所能容载的gas上线、
接着在cmd终端中进行操作:
win + r 打开终端 、
⑴进入D:\blockchain 用 cd 进入
⑵使用 geth -help 进行帮助查看 如果查看成功、安装成功
⑶geth -datadir chain init genesis.json 将创世块信息初始化
⑷geth -datadir chain console 打开geth的控制台 注意英文半角、
⑸在控制台键入 personal.newAccount(‘zhangsh.123’) 创建用户zhangsh.123 为用户的密码,自定义即可(该用户用来启动私有链时的矿工)
⑹ 输入 exit 退出geth控制台
启动私有链节点(ip使用本机ip)
geth -targetgaslimit 4294967295 -rpc -rpcaddr "192.168.235.1" -rpcport "8101" -port "30301" -rpcapi "eth,web3,personal" -networkid 2018 -identity 2018 -nodiscover -maxpeers 5 -datadir chain -unlock 0 -rpccorsdomain "*" -mine console
(targetgaslimit –每个块的gas上限,这里可以暂时理解为容量
rpc –启动rpc通信,可以进行智能合约的部署和调试
rpcaddr –rpc接口的地址
rpcport –rpc接口的端口号
port –网络监听端口,用于节点之间通信
rpcapi –设置rpc的范围,
暂时开启eth,web3,personal足够
networkid –设置当前区块链的网络ID,是一个数字,可以随便写
identity –区块链的标示,随便填写,用于标示目前网络的名字
nodiscover 禁止被网络中其它节点发现,需要手动添加该节点到网络
maxpeers 最大节点数量
datadir –设置当前区块链网络数据存放的位置
unlock –解锁某用户(此处用用户坐标来控制,解锁后的用户调用接口发起交易时,不要需要提供密码)
rpccorsdomain 限制rpc访问源的ip,代表不限制 mine 允许挖矿
console –启动命令行模式,可以在Geth中执行命令*)
键入回车
命令行中出现
Passphrase:
键入 刚才创建用户是定义的密码
然后等待出现类似如下信息时:
I1208 17:49:49.023354 ethash.Go:291] Generating DAG: 0%
I1208 17:49:55.636941 ethash.go:291] Generating DAG: 1%
I1208 17:50:01.952089 ethash.go:291] Generating DAG: 2%
I1208 17:50:08.887566 ethash.go:291] Generating DAG: 3%
I1208 17:50:15.176846 ethash.go:291] Generating DAG: 4%
I1208 17:50:21.314108 ethash.go:291] Generating DAG: 5%
I1208 17:50:27.396949 ethash.go:291] Generating DAG: 6%
则证明开始创建创世块,等待进度至100%后,便会开始挖矿了。
这时,解压以太坊钱包到任意目录(本文以d盘ethwallet为例)
打开ethwallet文件夹,运行Ethereum-Wallet.exe
出现如下画面
关闭该窗口
出现如下窗口
如果右上角出现“PRIVATE-NET”则证明钱包客户端已经连接到了我们的私有节点。
点击“LAUNCH APPLICATION”
进入钱包主页面
如下
由于挖矿比较消耗cpu,所以此时打开控制台
键入 miner.stop() 停止挖矿。不要在意输出的刷屏,只管输入完成后回车即可,如果输入正确,回车后会输出“true”。
键入 miner.start(1) 使用一个cpu挖矿,减少对电脑性能的消耗。
下面我们进入下一个环节,交易
因为我们现在只有一个用户,没办法正常交易,所以现在主页面点击“ADD ACCOUNT” 创建另外一个用户,按照步骤输入密码,确认密码后,创建用户工作就完成了。
点击“ACCOUNT2”进入账户详情页面,复制用户地址
复制时,会出现提示“Warning: you are on the Test Network. Be careful not to transfer real funds to this account.”。不用理他,点击OK。
然后点击钱包界面的“SEND”,进入交易发送界面
点击“FROM”下方输入栏,选择交易的发起人,我们选“Main account” ,因为当前只有他的账户下有以太币。“TO”下方的输入栏我们输入刚才复制的“ACCOUNT2”的地址。“AMOUNT”处输入本次要交易的以太币数量,以10个为例。输入10。其他的地方不用管,我们把滚动条拖到最下方,左下方有个“SEND”按钮,点击一下。弹出如下窗口
在输入栏中输入主账户的密码,点击“SEND TRANSACTION”交易就发出去了。
页面会自动跳转会主页面。我们将滚动条滚到下面。
我们可以看到我们刚才从主账户像“ACCOUNT2”发起的交易。
点击打开链接