c#实战开发:以太坊私链搭建(一)
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#实战开发:以太坊私链搭建(一)的更多相关文章
- geth搭建以太坊私链及常用操作
一.下载安装geth客户端 https://www.ethereum.org/ 二.搭建私有链 1.准备创世区块配置文件 要运行私有链,我们就需要定义自己的创世区块,创世区块信息写在一个json格式的 ...
- win7环境搭建以太坊私链
如何创建私链: 创建创世配置文件: 首先需要创建一个“创世”json配置文件,此文件描述了创世区块的一些参数.下面就是文件中的内容: { "coinbase": "0x0 ...
- docker 搭建以太坊私有链搭建
最近区块链,火得不行,身边也有朋友准备玩这个,说是搭了一个星期,没有把环境搭建起来,叫我帮忙看看环境怎么搭建 于是我找到了官方的地址 https://github.com/ethereum/go-et ...
- centos 以太坊多节点私链搭建
环境 centos 7 搭建 3 个节点的 私链. 第一步 安装 一些依赖的 工具 yum update -y && yum install git wget bzip2 vim ...
- 区块链--Ubuntu上搭建以太坊私有链
1.搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:https://githu ...
- 转:使用 Go-Ethereum 1.7.2搭建以太坊私有链
使用 Go-Ethereum 1.7.2搭建以太坊私有链 目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底 ...
- Mac环境搭建以太坊私有链
原文地址: 石匠的blog 为了测试以太坊智能合约,最方便的是在本地搭建一个以太坊私有链.在mac上搭建环境主要需要以下步骤. geth安装 geth是go-ethereum的简写,是一个用go语言编 ...
- 使用 Go-Ethereum 1.7.2搭建以太坊私有链
目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球 ...
- 以太坊联盟链 parity 节点搭建
https://www.cnblogs.com/sumingk/articles/9097996.html 上一篇文章介绍了以太坊私有链 geth节点的搭建,本篇介绍下企业级应用 联盟链搭建,运用pa ...
随机推荐
- CCNA学前基础一
网络设备: 集线器:集线器就是一种采用共享式工作状态的设备.Hub将信号放大后传输给其他端口,即传输线路是共享的. 交换机:用于连接终端设备,和基本的安全功能还有广播域的隔离.优点实现多用户同时访问, ...
- 中间件 activeMQ Jms Java Demo
一.什么是ActiveMQ 百度解释: ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provi ...
- autotrace执行计划中,统计信息详解
全表扫描是怎么扫描的? oracle最小的存储单位是block 物理上连续的block组成了extent(也就是说一个区中的所有块在物理上是连续的) 很多个extent组成了segment(一个seg ...
- ElasticSearch写入数据的工作原理是什么?
面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗? 面试官心理分析 问这个,其实面试官就是要看看你了解不了解 es 的一些基 ...
- Android 监听屏幕锁屏&用户解锁
在做视频播放器的时候,遇到一个问题,在用户播放视频然后锁屏之后,视频播放器仍然在继续播放,遇到类似手机系统状态改变的问题的时候,首先想到了广播,下面做个总结: public class ScreenL ...
- Numpy学习三:数组运算
1.转置 #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状 创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组arr = np ...
- 项目文件与 SVN 资源库同步提示错误 Attempted to lock an already-locked dir
问题描述 之前为了图方便,在eclipse中直接把三个jsp文件复制到了eclipse中我新建的一个文件夹中,把svn版本号信息也带过来了,然后我又删除了这三个jsp文件,接着先把这三个jsp复制到桌 ...
- SpringMvc参数传递中乱码问题
问题描述: 当传递中文参数到controller类时,无乱是get方式还是post方式都出现乱码 解决: 1.保证所有的页面编码都是utf-8,包括jsp页面,浏览器编码设置和eclipse的编码设置 ...
- Java核心技术及面试指南 异常部分的面试题归纳以及答案
4.2.4.1 throw和throws有什么差别?异常(Exception)和错误(Error)有什么差别? throw语句表示抛出异常,由方法体内的语句处理.throws语句用在方法声明后面,表示 ...
- RestyCircuitBreaker --- openresty断路器
简介 由于某些场景下服务提供方和调用方都无法做到可用性,当系统远程调用时,可能会因为某些接口变慢导致调用方大量HTTP连接被阻塞而引发雪崩. 解决思路如下: 服务提供方实现接口快速失败,当处理时间达到 ...