git clone https://github.com/ethereum/go-ethereum.git

cd go-ethereum && git checkout

make geth //生成的geth在build/bin/geth

创建私链

1、创建文件夹来存储私链数据:

mkdir privatechain

2、 使用geth来加载:

geth --networkid 123 --dev --datadir data1 --rpc --rpcaddr 192.168.1.5 --rpcport 8989 --port 3000

--identity:指定节点 ID;
--rpc:表示开启 HTTP-RPC 服务;
--rpcaddr:HTTP-RPC 服务ip地址;
--rpcport:指定 HTTP-RPC 服务监听端口号(默认为 8545);
--datadir:指定区块链数据的存储位置;
--port:指定和其他节点连接所用的端口号(默认为 30303);
--nodiscover:关闭节点发现机制,防止加入有同样初始配置的陌生节点

3、 打开另个终端, 进入交互式js执行环境:

geth attach ipc:<data1>/geth.ipc

eth:包含一些跟操作区块链相关的方法;

net:包含一些查看p2p网络状态的方法;

admin:包含一些与管理节点相关的方法;

miner:包含启动&停止挖矿的一些方法;

personal:主要包含一些管理账户的方法;

txpool:包含一些查看交易内存池的方法;

web3:包含了以上对象,还包含一些单位换算的方法。

方法二:

1、 新建genesis.json文件在privatechain目录下:

{
"config": {
"chainId": 10, //与github上仅修改此处
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x20000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}

2、 初始化,创建创世区块

geth --datadir  ~/privatechain/ init  ~/privatechain/genesis.json

3、 创建私链

geth --datadir ~/privatechain/ --nodiscover

4、使用js交换环境:

geth attach ipc:~/privatechain/geth.ipc

5、 新加入节点:

先操作1,2,3,4
执行:admin.addPeer("<节点信息>@ip: 30303")
返回: true

api:eth_getBalance 流程:

// ethclient/ethclient.go

最新文章

  1. C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决
  2. 【前端性能】高性能滚动 scroll 及页面渲染优化--转发
  3. centos MariaDB10.1.X galera cluster
  4. 关于Matrix的深入理解(对应值的功能)
  5. 创建ROS功能包(四)
  6. [C#错误] 未找到类型或命名空间名称&quot; &quot; (是否缺少 using 指令或程序集引用?)
  7. oracle em命令行配置及界面按钮乱码问题解决方法
  8. 从Chrome源码看浏览器如何构建DOM树
  9. 《JS权威指南学习总结--第二章词法结构》
  10. Qt自定义标签按钮
  11. 异常详细信息: System.IO.FileLoadException: 未能加载文件或程序集“Office, Version=7.0.3300.0,
  12. selenium爬取煎蛋网
  13. [转]rancher 初步
  14. Tomcat的三种部署方式
  15. LDA-线性判别分析(四)其他几个相关问题
  16. [skill][git] git 常用操作记录
  17. 基于jquery下拉列表树插件代码
  18. FFT/NTT/MTT学习笔记
  19. lua——string之string.gsub
  20. harbor1.4.0高可用部署

热门文章

  1. pdf文件去掉广告,水印,背景和删除密码方法收藏
  2. Codeforces 852G Bathroom terminal 【Trie树】
  3. C++学习之 —— 输入输出
  4. 分布式缓存技术redis系列(二)——详细讲解redis数据结构(内存模型)以及常用命令
  5. Maven设置utf8编码格式
  6. Stm32常见英文缩写
  7. ironic-inspector硬件信息收集
  8. 安装并运行Hello World
  9. yii2小部件(widget)
  10. Spring Boot使用Druid连接池基本配置