最简单的智能合约

最简单的一个智能合约


pragma solidity 0.4.9;
contract DemoTypes {function f(uint a) returns (uint b) {uint result = a * 8;return result;}
}

以上就是一个最简单的一个智能合约, 该智能合约实现了一个最基本的功能,也就是输入N,返回8*N。
那么我们需要如何执行他呢?这个就涉及到一个很有用的工具,browser-solidity了。

官方地址:https://ethereum.github.io/browser-solidity/#version=soljson-v0.4.9+commit.364da425.js

注意这里目前用到的solidity版本为0.4.9, 因此pragma solidity 后面也要跟上0.4.9版本,否则会报错。

将我们上面的代码贴上去,可以看到结果如下图所示:

这个时候点击红色 Create按钮

就可以将这份最简单的智能合约部署到区块链网络上(内存上的)

在这里我们可以看到几个东西

  1. Trasaction/Execution Cost: 这个代表Create一个合约所消耗的成本,单位为Gas。Gas和Ether币有一个兑换关系,兑换比例由Oracle决定
  2. 这里可以看到我们的合约名称DemoTypes, 注册在了一个地址上面。这个代表该合约已经被挖矿出来了。
  3. 第三个就是我们上方的合约代码,f(n) {return 8 * n}

这个时候我们输入100,然后点击f按钮,我们可以看到结果

这样的结果很清楚

  1. 结果是800,符合预期
  2. 执行f()这个function消耗的Gas Cost是21698+800

上面介绍了一个最简单的智能合约,下一章将给大家介绍智能合约的语言 Solidity。也是全书的重心。

原文地址: http://www.ethchinese.com/?p=614

区块链学堂(2):最简单的智能合约相关推荐

  1. 区块链研习 | 区块链里所说的“智能合约”是什么? 本文作者:敖萌 编辑:温晓桦 2017-10-11 20:31 导语:谈到区块链,必然离不开“智能合约”这个词。我们在本系列的第一篇文章中提到“智能

    区块链研习 | 区块链里所说的"智能合约"是什么? 本文作者:敖萌 编辑:温晓桦 2017-10-11 20:31 导语:谈到区块链,必然离不开"智能合约"这个 ...

  2. 调用wasm_PDX Utopia区块链协议栈使用Solidity调用wasm智能合约

    在这个瞬息万变的世界中,智能合约已成为所有平台中强有力的服务.Solidity是一种趋势,PDX Utopia区块链协议栈使用Solidity调用wasm智能合约. ▼ 什么是Solidity? So ...

  3. 区块链技术精华:四十种智能合约支持平台(四)

    摘要: 智能合约是以数字形式定义的承诺,控制数字资产并涵盖合约参与者约定的权利和义务.它由计算机系统自动执行.在基于区块链的智能合约中,数据管理.事务验证和状态处理都是在区块链上完成的,区块链提供完备 ...

  4. 区块链课堂|从0开始了解区块链,通过代币学智能合约开发(线上课程)

    前两天约一个程序员朋友吃饭,他是通过学习蒋勇老师的区块链智能合约课程转型的区块链开发,聊到区块链开发他吐槽了这么一句:学会ERC20,就是区块链工程师. 他在找新机会的时候,被问到最多的问题就是会不会 ...

  5. 区块链技术精华:四十种智能合约支持平台(三)

    摘要: 智能合约是以数字形式定义的承诺,控制数字资产并涵盖合约参与者约定的权利和义务.它由计算机系统自动执行.在基于区块链的智能合约中,数据管理.事务验证和状态处理都是在区块链上完成的,区块链提供完备 ...

  6. 区块链项目实战 - 使用以太坊/智能合约solidity,全栈开发区块链借贷记账小应用,含完整源码

    本文使用区块链平台以太坊+智能合约实现一个区块链记账的功能,具体为: 借款人和贷款人以及数额被记录在区块链中.使用区块链地址来表示借款人或者贷款人. 若一个借款人多次向一个贷款人借钱,更新所有的数额之 ...

  7. EOS区块链技术开发(二)智能合约

    强烈建议直接去看EOSIO官网上的教程:https://developers.eos.io/ 不要看我的??博文了,以下博文就是我当时随便写写的,现在也没有什么时间详细修改.如果有问题可以提问. 注: ...

  8. 【区块链】Truffle 部署 编译 测试 智能合约 的 完整实践操作

    本文首发自我的CSDN博客,原文链接如下 blog.csdn.net/diandianxiy- 目标 搭建开发环境 创建一个Truffle项目 编写智能合约 编译转移智能合约 测试智能合约 创建用户界 ...

  9. 区块链学堂:区块链引子

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 区块链学堂(1):区块链引子 相信正在看这篇文章的读者一定已经听说过区块链了,并且也相信区块链是一项前景美妙,甚 ...

最新文章

  1. 【转】qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
  2. swagger注解说明_swagger2常用注解说明
  3. lisp 焊缝_超声波焊接工具性能参数求解与参数图绘制
  4. python0.1+0.2不等于0.3_为什么0.1 + 0.2不等于0.3?
  5. oracle 如何显示 比例,Oracle中如何兼得比例和时间
  6. 国内数十位NLP大佬合作,综述预训练模型的过去、现在与未来
  7. Linux mysql 登录 2002,Linux 下 Mysql error 2002 错误解决
  8. Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试
  9. HTML文件上传对象file
  10. 用递归将嵌套的JSON对象遍历出来,转为二维数组
  11. bzoj 1054: [HAOI2008]移动玩具.cpp
  12. Unity Application Block 1.0系列(7): Lifetime Managers
  13. iOS数据持久化-OC
  14. python 快速排名发包_2019年SEO快速排名发包技术及原理 - 立金哥
  15. SqlHelper——只因为在人群中多看了你一眼
  16. 漫画:为什么不能打断程序员?
  17. (转)OLAP和多维数据模型
  18. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢
  19. VolgaCTF2015之lcg的writeup
  20. 青龙面板脚本--KSJSB-8月10日可用本及使用教程

热门文章

  1. ASP.NET-后台cookie与前台JQUERY解析cookie
  2. eclipse下查看maven下载的源码中文乱码问题
  3. Python进阶(2)
  4. Linux 使用本地yum源及软件包管理
  5. Linux操作系统下双网卡路由表配置
  6. 【Python】sort 和 sorted 的用法区别
  7. [云炬创业管理笔记]第三章打造优秀创业团队讨论1
  8. 科大星云诗社动态20201223
  9. 云炬WEB开发笔记 2-1开发环境搭建
  10. WINDOWS上KAFKA运行环境安装