智能合约编程语言

Solidity

Solidity是第一批的描述智能合约的语言。当前是最流行的语言,因此也有最多的例子,文档,和教程。你应该学习这个,除非你有要学习其它的理由。

你可以使用基于浏览器的Remix IDE来进行快速验证。

下面是一个Solidity的合约:

pragma solidity ^0.4.11;
contract BasicToken { mapping(address => uint256) balances; function transfer(address _to, uint256 _value) returns () {balances[msg.sender] = balances[msg.sender] - _value;balances[_to] = balances[_to] + _value; } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner];}
}

LLL

LLL是一门Lisp风格的底层编程语言,就像语言名称看到的这样。虽然以太坊官方并没有将它作为主要需要支持的语言,但它仍旧持续进行着更新,且与solidity在同一个资源库。

这是一个使用LLL语言写的一个ERC20代币的合约,链接:https://github.com/benjaminion/LLL_erc20/blob/1c659e890e2b30408555b9467a8dfd8988211b3b/erc20.lll

如果你正在学习,也许不是那么的容易习惯LLL语言的写法。

Serpent

Serpent是一个类Python的高级语言,最终也会被编译为EVM字节码。它主要被Augur团队使用。

但最近Zeppelin Solution团队发现其编译器有一个严重的bug,链接:https://blog.zeppelin.solutions/serpent-compiler-audit-3095d1257929在这个问题被修复之前都不建议继续使用。

如果你对Augur如何解决这些漏洞感兴趣,你可以阅读Zeppelin Solution的这篇文章。链接:https://blog.zeppelin.solutions/augur-rep-token-critical-vulnerability-disclosure-3d8bdffd79d2

Serpent的合约看起来如下:

def register(key, value): # Key not yet claimed if not
self.storage[key]: self.storage[key] = value return(1) else: return(0)
# Key already claimeddef ask(key): return(self.storage[key])

以太坊编程涉及那些开发语言?相关推荐

  1. 以太坊编程简单介绍 ,Part-1

    两个月前,我被要求建立一个以太坊网络应用作为工作测试以加入Zeppelin,但是我对区块链技术根本不了解.我几乎没有听说过比特币,所以除了学习我没有别的选择. 这将是一系列针对希望成为以太坊软件开发人 ...

  2. 以太坊区块链Ethereum开发资料汇总

    2019独角兽企业重金招聘Python工程师标准>>> 基本概念介绍 :国内介绍区块链比较详细的资料 终于把区块链的技术与应用讲清楚了 http://business.sohu.co ...

  3. truffle (ETH以太坊智能合约集成开发工具) 入门教程

    truffle (ETH以太坊智能合约集成开发工具) 入门教程 前言 在你了解区块链开发之前,你有必要了解区块链的一些基础知识,什么是DApp,DApp与传统app的区别, 什么是以太坊,以太坊中的智 ...

  4. 头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础

    头歌-信息安全技术-用Python实现自己的区块链.支持以太坊的云笔记服务器端开发.编写并测试用于保存云笔记的智能合约.支持以太坊的云笔记小程序开发基础 一.用Python实现自己的区块链 1.任务描 ...

  5. java开发以太坊---不搭节点开发

    java开发以太坊---不搭节点开发 readme 直接上代码 readme 以太坊区块链浏览器有提供官方api 已经满足了基本开发需求 api连接 优点: 可以不用搭建节点,节省内存,无须担心节点挂 ...

  6. 基于以太坊的智能合约开发教程Solidity modifier

    基于以太坊的智能合约开发教程Solidity modifier pragma solidity ^0.4.0;contract modifierTest{address owner;uint publ ...

  7. 以太坊ETH-智能合约开发-solidity源码分析-truffle进阶

    0. 背景 上一篇文章我们从合约编写.编译.部署.交互等几个方面介绍了truffle的大致用法. 本篇主要继续深入地介绍truffle的高级用法 + 合约源码分析 1. 将合约部署到测试网Ropste ...

  8. 以太坊Python智能合约开发指南

    在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...

  9. 用OpenZeppelin在RSK上进行以太坊ERC20代币开发

    在本文中,我们将讨论通过RSK网络部署和交互Smart-Contracts智能合约.我们的合约将是一个基于OpenZeppelin库的ERC20代币,我们将把它直接部署到Mainnet中. 创建合约 ...

最新文章

  1. 【 MATLAB 】信号处理工具箱之 fft 案例分析
  2. 仓位 001 998 AUFNAHME不存在(L9009)
  3. 【hdu5285】wyh2000 and pupil
  4. redis rdb aof区别_理解Redis的持久化机制:RDB和AOF
  5. 一步步教你实现富文本编辑器(第四部分)
  6. 飞龙的程序员书单 – 前端
  7. 前端想要了解的Nginx
  8. jdk Collections类
  9. 油猴脚本修改sciencedirect论文下载名
  10. dts同步常见问题_家庭影院十大常见故障解决办法
  11. 40个增长和管理你的WordPress网站的有用博客工具
  12. 第三方对接-云存储-最新亚马逊Amazon云AWS S3服务JAVA上传图片,访问图片教程(API版本2.14.22)
  13. Java方法入参三个省略号...啥意思
  14. SCI写作必备英文单词、语法检查工具
  15. Win10设置系统补丁更新服务器,win10系统手动更新补丁如何设置 win10系统手动安装更新方法...
  16. java实现不确定进度条_JavaFX在执行过程时不确定进度条
  17. ERP系统中的工作流和业务流
  18. PDN仿真笔记5-电容走线影响寄生电感的因素分析
  19. java 发送邮件 email相关操作代码测试,生成复杂格式邮件,发送邮件相关操作
  20. [转贴]“山寨”之现状分析

热门文章

  1. 计算机科学编辑部态度,计算机科学期刊介绍--各种杂志投稿方式与评价(转)...
  2. android手机视频编辑,美册视频编辑剪辑制作
  3. 数字签密算法JPBC实现
  4. Android 九宫格物理键盘数字英文切换
  5. [BZOJ3240][Noi2013]矩阵游戏 快速幂
  6. 3D游戏开发所需的数学基础——矩阵
  7. Oracle 12C 基础知识与使用入门(修订版)
  8. Linux程序动态库的加载
  9. 信息的定义与特征,构成世界的三大要素:物质、能量、信息
  10. JAVA中的ZoneId常用值备注