导航:首页 > 以太坊区 > 以太坊私有链路

以太坊私有链路

发布时间:2023-07-21 13:20:02

A. CentOS 6.5上搭建以太坊私有链,编译时报错: make: *** [geth] Error 1,请各位大神指教

build/env.sh go run build/ci.go install ./cmd/geth
make: *** [geth] Error 1
没有这个目录,或者这个目录权限不够

B. 以太坊私有链如何更新版本

以太坊私有链更新版本的方法:
1、获取以太坊私有链系统的当前版本对应的当前版本号;
2、基于所述当前版本号,确定所述以太坊私有链系统的升级版本的升级版本号;
3、将所述以太坊私有链系统升级为所述升级版本号对应的升级版本。

C. 以太坊多节点私有链部署

假设两台电脑A和B
要求:
1、两台电脑要在一个网络中,能ping通
2、两个节点使用相同的创世区块文件
3、禁用ipc;同时使用参数--nodiscover
4、networkid要相同,端口号可以不同

1.4 搭建私有链
1.4.1 创建目录和genesis.json文件
创建私有链根目录./testnet
创建数据存储目录./testnet/data0
创建创世区块配置文件./testnet/genesis.json

1.4.2 初始化操作
cd ./eth_test
geth --datadir data0 init genesis.json

1.4.3 启动私有节点

1.4.4 创建账号
personal.newAccount()
1.4.5 查看账号
eth.accounts
1.4.6 查看账号余额
eth.getBalance(eth.accounts[0])
1.4.7 启动&停止挖矿
启动挖矿:
miner.start(1)
其中 start 的参数表示挖矿使用的线程数。第一次启动挖矿会先生成挖矿所需的 DAG 文件,这个过程有点慢,等进度达到 100% 后,就会开始挖矿,此时屏幕会被挖矿信息刷屏。
停止挖矿,在 console 中输入:
miner.stop()
挖到一个区块会奖励5个以太币,挖矿所得的奖励会进入矿工的账户,这个账户叫做 coinbase,默认情况下 coinbase 是本地账户中的第一个账户,可以通过 miner.setEtherbase() 将其他账户设置成 coinbase。

1.4.8 转账
目前,账户 0 已经挖到了 3 个块的奖励,账户 1 的余额还是0:

我们要从账户 0 向账户 1 转账,所以要先解锁账户 0,才能发起交易:

发送交易,账户 0 -> 账户 1:

需要输入密码 123456

此时如果没有挖矿,用 txpool.status 命令可以看到本地交易池中有一个待确认的交易,可以使用 eth.getBlock("pending", true).transactions 查看当前待确认交易。

使用 miner.start() 命令开始挖矿:
miner.start(1);admin.sleepBlocks(1);miner.stop();

新区块挖出后,挖矿结束,查看账户 1 的余额,已经收到了账户 0 的以太币:
web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')

用同样的genesis.json初始化操作
cd ./eth_test
geth --datadir data1 init genesis.json

启动私有节点一,修改 rpcport 和port

可以通过 admin.addPeer() 方法连接到其他节点,两个节点要要指定相同的 chainID。

假设有两个节点:节点一和节点二,chainID 都是 1024,通过下面的步骤就可以从节点二连接到节点一。

首先要知道节点一的 enode 信息,在节点一的 JavaScript console 中执行下面的命令查看 enode 信息:

admin.nodeInfo.enode
" enode://@[::]:30303 "

然后在节点二的 JavaScript console 中执行 admin.addPeer(),就可以连接到节点一:

addPeer() 的参数就是节点一的 enode 信息,注意要把 enode 中的 [::] 替换成节点一的 IP 地址。连接成功后,节点一就会开始同步节点二的区块,同步完成后,任意一个节点开始挖矿,另一个节点会自动同步区块,向任意一个节点发送交易,另一个节点也会收到该笔交易。

通过 admin.peers 可以查看连接到的其他节点信息,通过 net.peerCount 可以查看已连接到的节点数量。

除了上面的方法,也可以在启动节点的时候指定 --bootnodes 选项连接到其他节点。 bootnode 是一个轻量级的引导节点,方便联盟链的搭建 下一节讲 通过 bootnode 自动找到节点

参考: https://cloud.tencent.com/developer/article/1332424

D. 以太坊私有链搭建(2)--修改挖矿难度

官放解释就不多说了,Difficulty值越大,越难出区块,意味着交易不容易确认,默认的机制是难度越来越大,对私有链一般是不可接受的,当然这个值也不是越小越好,这样的话也会让机器的很卡,所以这个值要根据项目自己确定。

创世区块中的的难度能影响整体的挖矿速度,但是并不能改变难度上升这个趋势,所以在自己的项目中,仅仅在创世区块中指定难度是不够的。

当前geth版本 1.7 unstable
源文件 consensus/ethash/consensus.go 行290

好了,这里也不多想怎么实现了,我也看不懂,简单改下返回难度为恒定值就会~~
将这个函数改为

重新make geth,试试看出块难度是不是恒定了。

E. 国内有哪些私有链

比特币、以太坊都是典型的公有链。
私有链是指其写入权限由某个组织和机构控制的区块链,参与节点的资格会被严格限制。由于参与节点是有限和可控的,因此私有链往往可以有极快的交易速度、更好的隐私保护、更低的交易成本、不容易被恶意攻击,并且能做到身份认证等金融行业必需的要求。

F. 以太坊私链不挖矿问题

MinerHub 公司旗下的奇迹摩尔系统(Wondermole)是一款基于Linux 内核,为矿工朋友们深度定制的“无盘”挖矿系统;

全方位解决问题

1、奇迹摩尔的 Linux 内核经过两百多次深度优化,避免了部分硬件故障会直接导致系统死机这一问题;
2、针对市面上许多挖矿软件重启后无法连接矿池挖矿的情况,奇迹摩尔利用每次矿机重启后重置镜像的功能完美解决;
3、经测试,奇迹摩尔系统在各大矿池的平均算力误差和延迟份额均不超过 1.5%,明显提升了用户的挖矿收益;
4、奇迹摩尔开发团队经过无数次实验,得出了最优化的显卡 VBIOS 超频设置,较传统超频手段,在进一步提升显卡 5% 算力的同时,还可降低 15% 的功耗!

G. 搭建geth私有链和联盟链网络

操作系统:linux或Mac OS
安装geth执行以下命令:
linux:sudo apt-get install ethereum
Mac OS:brew install ethereum

直接创建两个geth的工作目录,用于之后的组建联盟链的使用:
mkdir eth-private1
mkdir eth-private2

首先 cd eth-private1 进入节点1的工作目录该目录下执行下面命令
geth --datadir data --nodiscover console (data是之后geth节点的数据目录,可自行修改)

使用geth自带的工具 puppeth 用于生成创世区块,过程如下:
puppeth
+-----------------------------------------------------------+
| Welcome to puppeth, your Ethereum private network manager |
| |
| This tool lets you create a new Ethereum network down to |
| the genesis block, bootnodes, miners and ethstats servers |
| without the hassle that it would normally entail. |
| |
| Puppeth uses SSH to dial in to remote servers, and builds |
| its network components out of Docker containers using the |
| docker-compose toolset. |
+-----------------------------------------------------------+

Please specify a network name to administer (no spaces, please)

输入私链名称后,会出现二级菜单,现在2:配置一个新的创世快
What would you like to do? (default = stats)

再次出现二级菜单,让你选择共识机制(这里采用poa共识)
Which consensus engine to use? (default = clique)

Ethash - proof-of-work(PoW) :工作量证明,通过算力达成共识 (以太坊就是使用这种方式)
Clique - proof-of-authority(PoA): 权威证明、通过预先设定的权威节点来负责达成共识 (不消耗算力,一般用于私有链测试开发)
如果选择Pow的共识方法,直接输入1,回车即可。
如果选择PoA的共识方法,输入2后会提示让你选择处快的间隔时间,一般测试开发使用可以设置相对的将处快时间设置较少5秒即可,然后会让你选择哪个账户来作为权威生成区块(至少有一个,输入刚才创建的账户,若只是单节点就输入那个节点目录生成的地址,若想组建联盟链就填写生成的两个地址)

How many seconds should blocks take? (default = 15)

选择好共识机制后会让你指定给那些账号初始化ether(至少有一个),输入我们刚才创建的账户地址回车即可。
Which accounts should be pre-funded? (advisable at least one)

选择输入私有链的网络ID,任意数字即可(不能为1,1是公链),也可以不输入会给定一个随机数作为私有链的网络ID
Specify your chain/network ID if you want an explicit one (default = random)

选择导出创世区块配置文件

选择导出创世区块配置文件的保存路径,可以保存到当前目录,直接按回车即可
Which file to save the genesis into? (default = my-private-chain.json)

INFO [02-09|14:56:33] Exported existing genesis block

这样就完成了创世区块文件的配置了,直接退出puppeth即可。

输入命令 geth --datadir data init private.json 其中data自己制定,private.json就是刚才生成的创世区块
若出现如图错误:

输入命令:
geth --datadir data --syncmode full --port 2001 --networkid 1234 --rpc --rpcport "8545" --rpccorsdomain "*" --rpcaddr "0.0.0.0" --rpcapi "db,eth,net,web3,personal,admin,clique" --nodiscover console 进入控制台
--datadir data:节点的数据目录
--syncmode full:块同步的方式(若只是单节点可不填)
--port 2001: 网卡监听端口
--networkid 1234:网络标识符
--rpc:开启rpc服务
--rpcport "8545":rpc服务的端口
--rpccorsdomain "*":允许跨域请求的域名列表(逗号分隔)(浏览器强制)
--rpcaddr "0.0.0.0" :HTTP-RPC服务器接口地址(默认值:“localhost”)
--rpcapi "db,eth,net,web3,personal,admin,clique":基于HTTP-RPC接口提供的API(私有链可以任意开发,公有链需要谨慎)
--nodiscover:不允许节点自动加入

若想搭建联盟链,必须保证创世区块一致,进入到刚才创建的eth-private2的目录
将之前生成的创世区块拷贝过来,初始化创世区块,然后使用启动命令启动分别启动两个节点,进入控制台,使用 admin.nodeInfo 命令获取节点的信息

总结:
两个服务器部署两个节点是可以联通的,但是只能使用两个节点对应的地址进行挖矿,所以只能是两个节点对应两个地址进行挖矿,使用poa共识,当一个节点挂掉,挖矿停止,因为poa共识挖矿必须超过50%的节点进行钱增,现在只是两个节点,挂掉一个节点挖矿就会停止等待另一个节点的确认,停掉的节点可以通过正常运作的节点信息重新连接到网络中。
问题:
同步块有可能报错情况:
1:Synchronisation failed "retrieved hash chain is invalid" 解决目前找到的方法是removedb 数据目录 ,重新init创世区块
2:内存溢出初步确认为开启rpc服务造成的,有可能服务器恶意被黑,暴力破解密码,占有内存,解决,将服务器的ip设置一条防火墙

若存在问题可给本人留言或访问本人的github: https://github.com/qi-shuo/geth-document 记录了一些本人搭建使用的命令

H. 怎么接以太坊公链

建立连接以接儒以太坊公链。
一、1、以太坊客户端下载,注意:需翻墙,下载版本为1.8.23-stable,否则可能出现与以太坊钱包客户端存在不匹配问题。
2、以太坊钱包客户端下载。
3、安装以太坊客户端。
二、私有链创建:创建创世区块。
三、安装并启动以太坊钱包客户端。

阅读全文

与以太坊私有链路相关的资料

热点内容
鼓励区块链创新 浏览:605
虚拟货币挂单怎么老是成交不了 浏览:116
区块链应用的音乐平台 浏览:952
柱轴力设计值n怎么算 浏览:296
男朋友力气大算男友力吗 浏览:326
诺华世界区块链 浏览:697
中国最专业比特币交易 浏览:512
数字货币适合长期投资吗 浏览:821
勒索病毒背后的比特币暗网疑云 浏览:984
比特币套取电费 浏览:720
北邮区块链实验室马 浏览:923
银行虚拟货币交易排查报告 浏览:705
数字货币与经济法 浏览:789
网络上炒虚拟货币 浏览:106
数字货币而何赚钱 浏览:836
显卡的算力和cpu 浏览:641
比特币介绍摘要 浏览:235
btm显卡8btccom 浏览:68
农行数字货币是什么意思 浏览:113
比特币真实交易量 浏览:589