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#版的钱包或者挖矿小程序

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

c#实战开发:以太坊私链搭建(一)的更多相关文章

  1. geth搭建以太坊私链及常用操作

    一.下载安装geth客户端 https://www.ethereum.org/ 二.搭建私有链 1.准备创世区块配置文件 要运行私有链,我们就需要定义自己的创世区块,创世区块信息写在一个json格式的 ...

  2. win7环境搭建以太坊私链

    如何创建私链: 创建创世配置文件: 首先需要创建一个“创世”json配置文件,此文件描述了创世区块的一些参数.下面就是文件中的内容: { "coinbase": "0x0 ...

  3. docker 搭建以太坊私有链搭建

    最近区块链,火得不行,身边也有朋友准备玩这个,说是搭了一个星期,没有把环境搭建起来,叫我帮忙看看环境怎么搭建 于是我找到了官方的地址 https://github.com/ethereum/go-et ...

  4. centos 以太坊多节点私链搭建

    环境  centos 7   搭建 3 个节点的 私链. 第一步 安装 一些依赖的 工具 yum update -y && yum install git wget bzip2 vim ...

  5. 区块链--Ubuntu上搭建以太坊私有链

    1.搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:https://githu ...

  6. 转:使用 Go-Ethereum 1.7.2搭建以太坊私有链

    使用 Go-Ethereum 1.7.2搭建以太坊私有链 目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底 ...

  7. Mac环境搭建以太坊私有链

    原文地址: 石匠的blog 为了测试以太坊智能合约,最方便的是在本地搭建一个以太坊私有链.在mac上搭建环境主要需要以下步骤. geth安装 geth是go-ethereum的简写,是一个用go语言编 ...

  8. 使用 Go-Ethereum 1.7.2搭建以太坊私有链

    目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球 ...

  9. 以太坊联盟链 parity 节点搭建

    https://www.cnblogs.com/sumingk/articles/9097996.html 上一篇文章介绍了以太坊私有链 geth节点的搭建,本篇介绍下企业级应用 联盟链搭建,运用pa ...

随机推荐

  1. Asp.net Security框架(1)

    Security框架主要用于身份认证的,基本上所有Asp.net项目有意或者无意的都在使用的,框架的源码包含在Katana项目下. 最常见的使用方式或许就是SignIn来给客户端浏览器生成包含身份信息 ...

  2. 深度学习Tensorflow生产环境部署(上·环境准备篇)

    最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...

  3. Ubuntu 16.04下Samba服务器搭建和配置(配截图)

    一.相关介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和 ...

  4. Warning: imagettfbbox(): Could not read font in XXX on line X

    今天在做图形验证码的时候,在windows运行好好的代码在CentOS下却无法运行了.报了如下警告 Warning: imagettfbbox(): Could not read font in /m ...

  5. 终于明白word-break属性——break-all和break-word的区别

      其实一直不明白,也没有认真去想过 word-break 属性的 break-all 和 break-word 有什么区别 后来看了一个大神写的一篇博客,写得很详细,看了豁然开朗. 所以,我也就不在 ...

  6. ajax&bootstrap

    1.ajax 后台 # 通过flask框架搭建后台 from flask import flask,request # 创建一个服务器对象 app = Flask(__name__) # 解决ajax ...

  7. Mysql实现null值排在最前或最后

    最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造. oracle做数据排序的时候,有时候可以用 ...

  8. ModelState 错误信息输出

    在MVC的项目中,我们通常情况下,为了方便(偷懒),会直接使用 !ModelState.IsValid 来判断实体的验证是否正确,但是这样对于用户的体验是不好的,当填写的内容比较多的时候,用户需要自己 ...

  9. 用python自制微信机器人,定时发送天气预报

    0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...

  10. [原创]K8Cscan插件之多种方式系统版本探测

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...