没有合适的资源?快使用搜索试试~ 我知道了~
首页在Geth私链上发布智能合约
前一阵子学习了一些区块链相关,并记录了在在Geth上创建私链的过程。详情请参考如下的几篇文章: 在Ubuntu下使用Geth搭建自己的以太坊私有链 CentOS7下安装Geth,搭建以太坊私有链 Geth私链的多节点运行 这篇文章简单讲述下如何在Geth上部署和发布智能合约。 智能合约是部署在区块链上的一组预定义的业务规则,具备确定性(Deterministic)执行的特征。换句话说,智能合约只是软件程序,与所有程序一样,它们完全按照程序员的意图执行。与普通的程序不太一样的是,存储在区块链上,并使用加密代码强制执行协议。 智能合约的概念最初是由计算机科学家、密码学家Nick Szabo于1
资源详情
资源评论
资源推荐

在在Geth私链上发布智能合约私链上发布智能合约
前一阵子学习了一些区块链相关,并记录了在在Geth上创建私链的过程。详情请参考如下的几篇文章:
在Ubuntu下使用Geth搭建自己的以太坊私有链
CentOS7下安装Geth,搭建以太坊私有链
Geth私链的多节点运行
这篇文章简单讲述下如何在Geth上部署和发布智能合约。
智能合约是部署在区块链上的一组预定义的业务规则,具备确定性(Deterministic)执行的特征。换句话说,智能合约只是软件程序,与所有程序一样,它们完全按照程序员的意图执行。与普通的程序
不太一样的是,存储在区块链上,并使用加密代码强制执行协议。
智能合约的概念最初是由计算机科学家、密码学家Nick Szabo于1993年构思出来的。在1994年的一篇文章中,Nick写道:“智能合约的总体目标是满足共同的合同条件(例如付款项、留置权、保密性,
甚至强制执行),最大限度地减少异常以及对可信中介的需求。 相关的经济目标包括减少欺诈损失、仲裁和执行成本以及其他交易成本。现今存在的一些技术可以被视为粗略的智能合约,例如POS终端
和(信用卡)、电子数据交换(EDI)以及公共网络带宽的agoric分配。
尽管智能合约在比特币诞生时才出现一线生机,但以太坊完全接受了它,使得在其分布式账本中执行和存储智能合约成为可能。以太坊的平台专为执行智能合约而设计,使交易和ICO(初始代币发行)
成为可能且无可挑剔。在许多方面,智能合约是所有区块链技术的基石。此外,许多新兴的区块链初创公司依赖于智能合约有望创造的革命。
这篇文章主要介绍的是如何在Geth私链上部署和发布智能合约,因此我们这里用的合约是Hello World级别的,这篇文章并不涉及如何编写复杂功能的智能合约。
一、用一、用Solidity语言编写智能合约语言编写智能合约
pragma solidity ^0.4.26;
contract MyContract {
function multiply(uint a) public pure returns(uint) {
return 5 * a;
}
}
上面的合约代码非常简单,定义了一个函数,接收两个整形参数,函数功能是返回这两个参数的乘积。这里我们不考虑程序的语法,只关注合约部署和发布的过程。如果大家对Solidity语言感兴趣,可以自行去网上搜索相关的文章。下面的链接是Solidity的官方文档地址:
Solidity Language Documentation
二、使用二、使用Remix IDE编译智能合约编译智能合约
由于Geth 的新版本取消了eth.compile命令,所以我们这里使用在线工具来完成合约的编译。也可以用solc工具来编译,详细的使用方法可以百度。
在浏览器输入http://remix.ethereum.org,打开Remix IDE,在文件浏览器中新建文件,将上面的合约代码复制进去并保存
若代码没有自动编译,也可手动进行编译。若有红色错误提示,需要根据提示进行处理。黄色警告可以忽略。
点击Compilation Details按钮,会弹出编译的详细信息,其中的ABI和Bytecode,是我们部署合约要用到的。














weixin_38635979
- 粉丝: 3
- 资源: 914
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0