1.第一步环境搭建

运行环境:window  客户端版本:Go语言geth

下载地址https://ethereum.github.io/go-ethereum/downloads/

以太坊API中文文档:http://web3.tryblockchain.org/Web3.js-api-refrence.html

下载后在桌面创建一个json文件 一下是文件内容

{
  "config": {
        ,// 私链区块链的ID  1是公链的ID
        ,//硬分叉高度
        ,//eip
        "eip158Block": 0 //eip
    },
  "coinbase"   : "0x0000000000000000000000000000000000000000",//默认账户,发送奖励账号一般默认第一个
  "difficulty" : "0x400",//产生区块的难度 也叫挖矿难度
  "extraData"  : "",//附加信息 好像没什么用
  "gasLimit"   : "0xffffff",//限制区块交易量信息,私链没有限制
  "nonce"      : "0x0000000000000042",//交易可存储数量 在没有进行挖矿时未承认交易数量
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",//hash生成规则 私链随意
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",//上一个hash 因为创世区块随意
  "timestamp"  : "0x00",//时间撮配置 在进行转账交易时有用 比如智能合约转账验证时可以用 私链随意
  "alloc": {}//预设账号以及账号的以太币数量,私有链挖矿比较容易可以不配置
}

以上就是创世区块配置 我们进行下一步

创建两个文件夹

先把下载的客户端放入Geth  在创建一个txt 后面我在把后缀改成bat

文件内容

choice /D y /t 3 > nul

set today=%date:~0,4%%date:~5,2%%date:~8,2%
geth --datadir F:\privateEthereum --networkid 1666 --ipcdisable --rpc --rpcaddr "127.0.0.1" --rpcport "8546" --port "30304" --rpcapi "eth,web3,personal,net" --nodiscover console 2>> F:\privateEthereum\log\geth%today%.log

客户端的默认入口端口8545 出是30303 我这怕和钱包端口冲突给修改了 完成后放入Geth 文件夹内

后面再初始化区块数据 放入创世区块json文件 接着在建一个bat命令去运行json文件

xxxx\geth --datadir F:\privateEthereum init genesis.json

接着在区块文件夹内创建一个LOG日志文件 用储存geth客户端产生的日志 此时文件夹应该有三个文件

双击bat 初始化创世区块  如果没成功  看看地址是不是写错了 为了这个问题我找了好久

这里就是 用户的数据 里面都有以太币 不过是私链的  再点几geth文件夹下的 客户端 通过bat命令去启动geth.exe

接着我们创建一个用户

personal.newAccount("123456")   里面密码  也叫用户私钥 回车生成账户地址 也叫账户公钥

可以通过 输入 web3  查看所有命令和属性 文章开头也给了 基本命令地址

可以也通过c# 对接以太坊 实行用户地址创建

这是通过c# 创建的用户

接着我们在去看看客户端是否创建成功了 输入一下命令 查看用户和余额

var i =0;
 eth.accounts.forEach(
 function(e){
 console.log("  eth.accounts["+i+"]: " +  e + " \tbalance: " + web3.fromWei(eth.getBalance(e), "ether") + " ether");
 i++;
 }) 回车

创建成功  也可对接钱包出生成用户 后期可以做一个c#版的钱包或者挖矿小程序

仅仅只是演示如何创建私链 为了演示成功搭了二三十遍才出来的 后期在慢慢分享 。

最新文章

  1. HTML5之API
  2. Hue
  3. 单机搭建Android开发环境(一)
  4. javascript中apply、call和bind的区别,容量理解,值得转!
  5. CentOS 6.3下PostgreSQL 的安装与配置
  6. 隐马尔科夫模型,第三种问题解法,维比特算法(biterbi) algorithm python代码
  7. VC项目配置基础以及快捷键(收藏)
  8. linux 删除和安装java
  9. BZOJ 1901 Dynamic Rankings 树董事长
  10. TCP/IP 网络编程(六)
  11. tar命令结合find搜索将指定条件的文件进行打包压缩
  12. 1441: Min
  13. SpringBoot从零到上线
  14. C#版 - Leetcode 414. Third Maximum Number题解
  15. DevExpress VCL Controls 2019发展路线图(No.2)
  16. AndroidStudio Terminal的使用
  17. MYSQL的基本函数 (加密函数)
  18. 解决下载经过GZip压缩后的网页乱码问题
  19. Android——自定义多击事件
  20. java 线程池线程忙碌且阻塞队列也满了时给一个拒接的详细报告

热门文章

  1. Python爬虫学习之正则表达式爬取个人博客
  2. 第33节:Java面向对象中的异常
  3. ubuntu在终端下复制粘贴的2种方法
  4. django- Vue.js 操作
  5. NotSupportedError Only secure origins are allowed
  6. spring boot整合 springmvc+mybatis
  7. python(leetcode)-344反转字符串
  8. vis.js没有中文文档,个人在项目中总结的一些中文配置
  9. List,泛型和Datatable 的相互转换
  10. Ubuntu安装Python2.7,nodejs,Redis