D1V1网源码站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 67|回复: 0

[码农资料] 搭建自己的以太坊网络

[复制链接]

购买VIP,消费全返

微信扫码,惊喜不断

发表于 2015-4-19 02:06:06 | 显示全部楼层 |阅读模式
本文由币乎(bihu.com)内容支持计划奖励
目前以太坊官方提供了两种网络:线上生产网络、测试网络。
以太坊生产网络就是真正有价值的 的以太币运行的网络。我们使用的以太币进行转账、支付都是在生产网络上进行,每一个操作都需要消耗实实在在的ETH。智能合约也是部署在生产网络上,智能合约代码的执行调用都清晰可查,并且可供所有开发者调用。
以太坊的测试网络也是官方提供专供用户来开发、调试和测试的。但是测试网络的节点也是全球化的,现在测试网络的区块数量也很大,执行速度较慢,不便于开发、调试。
下面我们使用Geth安装自己的以太坊私有网络 PrivateNetwork。
Geth安装可以直接到官网下载对应的版本,进行安装:https://ethereum.github.io/go-ethereum/downloads/
安装完成后,需要创建私有网络的初始状态,所有节点都需要了解并达成一致。新建一个Json文件如gen.json,文件内容如图所示:





然后执行命令初始化节点 geth init gen.json,可以看到将节点数据写入了对应的文件夹中,此时当前目录下面会新增出两个文件夹geth和keystore
geth中用以保存区块链的相关数据
keystore中保存的是用户数据






使用命令personal.newAccount("xxx"),创造一个新的用户,该用户的密码是xxx. 测试使用可以使用123456便于记忆;
输入命令 eth.accounts, 我们会看到刚刚创建的新用户,可以看到已经创建了2个账户





至此,我们已经成功搭建了一个私有的ETH网络。
最简单的智能合约
pragma solidity 0.4.9;
    contract AddDemo {
        function add(uint a) returns (uint b)
        {
            uint result = a + 1;
            return result;
        }
    }
pragma solidity 中pragma是关键字,0.4.19 表示编译器的版本,从0.4.9起可以在不在前面使用^
contract是关键字,表示合约,和面向对象编程语言中的类Class很像,可以定义变量和方法。 function add(uint a) returns (uint b)就定义了一个名为add的方法,输入参数为uint a,输出参数为uint b。
Solidity语言是一种类JS的语言,也有构造函数、继承、抽象类等概念。



作者:程序员大叔日记
链接:https://www.jianshu.com/p/00de0ad85bb8
來源:简书

yuanma.d1v1.com欢迎你,分享最好的网站商业源码,提供最好的免费空间申请

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
加入VIP:点击进入
Email:
1184556465@qq.com
社区VIP用户交流QQ专用群234989379
非VIP请勿加此群
VIP
技术支持
消费全返
客服中心

QQ|D1V1网源码站|手机版|小黑屋|D1V1网源码站 ( 沪ICP备05028199号 )

GMT+8, 2024-11-26 23:48 , Processed in 0.068016 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表