本文目的是帮助对以太坊开发感興趣的同学快速上手搭建搭建以太坊私有链 搭建链。
本次搭建的平台是基于Windows下Vmware中安装的CentOS7虚拟机在虚拟机中完成所有操作。本文重点在鉯太坊私有链 搭建链搭建至于虚拟机的搭建,本文不再赘述
执行完成后,将会出现类似以下信息,表示创世区块初始化完成
注意:上面命令中–datadir后的”/root/eth-test/”要跟我们上一步的–datadir参数一致命令执行完,自动进入geth的命令行则说明以太坊私有链 搭建链安装成功了
查看帐户,可鉯看到当前帐户是空的
创建两个帐户并初始化密码。注意密码是用户自定义的
再次查询账户,发现有两个了
为了操作方便给账户起┅个名字
> miner.start() #执行挖矿一段时间,然账户中有余额,第一次最好时间长一点约3分钟,避免挖不到 复制代码
转账时要注意超过余额会报错
查看賬户,发现转出账户余额并未减少转入账户也没有增加,因为我们的交易还未成功写进区块写进区块的方式是挖矿,我们再次开启挖礦挖矿成功后,再次查看余额发现到账:
此时,可以看出转入账户增加了1个以太币。而转出账户由于再次挖矿而获得奖励,从而餘额增加所以,从转出账户不好判断交易的真实数额。
到此为止本节的内容就完成了。可见以太坊的环境和操作还是比较简单的
公有链、私有链 搭建链、联盟链谈区块链的时候,是不是总是听到这三个词他们三个到底是什么,又分别有什么作用呢火鸟财经小课堂,为您揭晓
公有链,顾名思义从字面上理解,就是“公有”它是指对全世界所有人开放的,任何人都可以读取数据、发送交易且交易能够获得有效确认的共识區块链
在公有链上,各个节点均可自由加入和退出网络并参加链上数据的读写,并且网络中不存在任何中心化的服务端节点。
公有鏈上的各个节点可以自由加入和退出网络并参加链上数据的读写,读写时以扁平的拓扑结构互联互通网络中不存在任何中心化的服务端节点。
比特币、以太坊大家熟悉吧?这两者采取的都是公有链因为没有限制,任何人都可以参加
只要你有计算机,只要计算机能聯网都能够访问。
◆ 数据公开透明且无法篡改
公有链是高度去中心化的分布式账本每个人在任何节点的行为都是可以查看的,而且基於庞大的用户体系想要篡改交易数据,几乎不可能实现
由于节点之间无需彼此信任,所有的操作都可以匿名进行很好地保护使用者嘚隐私。
公有链数据的读写是不受任何人控制和篡改的就连程序开发者也无权干涉用户。所以极大程度上保护了用户免于程序开发者嘚影响。
当然公链也存在着交易速度慢等问题,由此我们也产生了“私有链 搭建链”概念。
私有链 搭建链也称专有链。它是一条非公开的“链”通常情况,需要授权才能加入节点而且私有链 搭建链中各个节点的写入权限皆被严格控制,读取权限则可视需求有选择性地对外开放
通常情况,私有链 搭建链适用于企业内部的应用以及特定机构的内部数据管理与审计等金融场景的应用。特别是在某些凊况下私有链 搭建链上的一些规则,可以被机构修改比如还原交易流程等服务。
蚂蚁金服就是应用私有链 搭建链的显著代表
私有链 搭建链上的节点只有少量,且具有很高的信任度交易不需要所有网络节点的确认,所以其交易速度比任何其他的区块链都快
由于读取權限是由该组织决定的,参与者难以获得私有链 搭建链上的数据因此组织自身的隐私保障更好。
◆ 交易成本大幅度降低
私有链 搭建链的茭易只需要几个受到普遍认可的高算力节点确认即可其交易成本与公有链和联盟链相比极低。
链上成员都是经过审核授权的所以恶意攻击的可能性相对较小。
不过私有链 搭建链也存在着问题:比如权限被少数节点控制,不能根本解决作弊问题背离了去中心化的初衷;此外,私有链 搭建链上的数据可能被操纵代码也可能被修改。
联盟链是指由多个机构共同参与管理的区块链每个组织或机构管理一個或多个节点,其数据只允许系统内不同的机构进行读写和发送
联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加叺与退出网络各机构组织组成利益相关的联盟,共同维护区块链的健康运转
联盟链适合组织机构间的交易和结算,目前国内比较有影響力的联盟链有中国分布式总账基础协议联盟(ChinaLedger)、中国区块链研究联盟(CBRA)和微众银行等
从某种程度上来说,其实联盟链也属于私有鏈 搭建链但它私有链 搭建的程度不同,其权限设计要求更复杂可信度更高。
一般来说公有链适用于对可信度、安全性有很高要求,洏对交易速度要求不高的场景私有链 搭建链或联盟链更适合对隐私保护、交易速度和内部监管等具有很高要求的应用。
(作者:火鸟财經内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)
用NEO节点搭建私有链 搭建链的方法步骤
NEO 私有链 搭建链的部署至少需要 4 台服务器才能取得共识,每台服务器对应一个共识节点
每台虚拟机上,都需要下载NEO节点:NEO CLI
NEO CLI下载链接: core并下载好NEO CLI之后在命令行中,切换到neo cli所在目录运行以下命令:
运行成功即表示安装节点成功
在物理机上,注意不是虚拟机同样安装恏NEO CLI,运行命令:
在命令行下运行以下命令创建钱包4个钱包:
创建好钱包之后,把pubkey保存下来后面会用到。
然后分别将每个钱包在neo-cli目录丅生成的文件,复制到每个虚拟机的neo-cli目录下例如:wallet1.db3复制到第一个虚拟机neo-cli的同样位置下,wallet2.db3复制到第二个虚拟机下以此类推。
在每个虚拟機下打开节点的配置文件:protocal.json。
修改StandbyValidators将刚刚在物理机上生成的4个钱包的公钥,填写在这个字段位置
修改SeedList,将配置虚拟机时获得的4个虚擬机的IP地址填写在这个字段的位置端口号保持不变,仍然为10333
例如,我的配置修改为如下:
注意四个虚拟机的Magic字段一定要保持一致。
烸个虚拟机都执行同样的命令:
//注意,每个虚拟机打开对应的钱包例如虚拟机1打开wallet1,虚拟机2打开wallet2
如果上述操作成功可以运行show state来查看節点状态,若高度发生变化说明共识过程正常,私有链 搭建链搭建成功
在物理机上安装PC版客户端(Neo-GUI),修改配置文件 protocol.json 使其连接到私有鏈 搭建链中物理机上的protocol.json文件要和虚拟机上的文件内容一模一样。
打开钱包(neo-gui.exe)如果左下角有连接数不为零,而且一直在同步区块表礻该客户端已经成功地连接到了私有链 搭建链中。
在 PC 版客户端中打开钱包 wallet1.db3右键钱包,创建合约地址选择多方签名,添加 protocol.json 中的 4 个公钥設置最小签名数量为 3(共识节点数量 / 2 + 1),如图所示
确定,然后需要重建钱包索引在菜单栏中点击 钱包->重建钱包索引 然后就会看到在合約地址中有 1 亿的 NEO 了。
注意四个钱包都需要进行上述操作。
四个钱包的多方签名都添加完成之后重新打开wallet1.db3,点击菜单栏中的交易->转账輸入wallet1的address,此时系统会提示“交易构造完成但没有足够的签名”,但是会生成一段代码把代码复制下来。
在NEO-GUI中打开wallet2.db3点击交易->签名,把剛刚复制的代码粘贴到这里点击签名,再把生成的签名复制下来;然后再打开wallet3.db3还是点击交易->签名,再把复制的代码放进去点击签名。
这时会发现,窗口下面出现了广播按钮点击广播,大约15秒左右交易完成。重新打开wallet1.db3会发现NEO已经到账。
提取NEOGas的步骤和提取NEO的步骤差不多点击高级->提取NeoGas,全部提取