以太坊编程涉及那些开发语言?
智能合约编程语言
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])
以太坊编程涉及那些开发语言?相关推荐
- 以太坊编程简单介绍 ,Part-1
两个月前,我被要求建立一个以太坊网络应用作为工作测试以加入Zeppelin,但是我对区块链技术根本不了解.我几乎没有听说过比特币,所以除了学习我没有别的选择. 这将是一系列针对希望成为以太坊软件开发人 ...
- 以太坊区块链Ethereum开发资料汇总
2019独角兽企业重金招聘Python工程师标准>>> 基本概念介绍 :国内介绍区块链比较详细的资料 终于把区块链的技术与应用讲清楚了 http://business.sohu.co ...
- truffle (ETH以太坊智能合约集成开发工具) 入门教程
truffle (ETH以太坊智能合约集成开发工具) 入门教程 前言 在你了解区块链开发之前,你有必要了解区块链的一些基础知识,什么是DApp,DApp与传统app的区别, 什么是以太坊,以太坊中的智 ...
- 头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础
头歌-信息安全技术-用Python实现自己的区块链.支持以太坊的云笔记服务器端开发.编写并测试用于保存云笔记的智能合约.支持以太坊的云笔记小程序开发基础 一.用Python实现自己的区块链 1.任务描 ...
- java开发以太坊---不搭节点开发
java开发以太坊---不搭节点开发 readme 直接上代码 readme 以太坊区块链浏览器有提供官方api 已经满足了基本开发需求 api连接 优点: 可以不用搭建节点,节省内存,无须担心节点挂 ...
- 基于以太坊的智能合约开发教程Solidity modifier
基于以太坊的智能合约开发教程Solidity modifier pragma solidity ^0.4.0;contract modifierTest{address owner;uint publ ...
- 以太坊ETH-智能合约开发-solidity源码分析-truffle进阶
0. 背景 上一篇文章我们从合约编写.编译.部署.交互等几个方面介绍了truffle的大致用法. 本篇主要继续深入地介绍truffle的高级用法 + 合约源码分析 1. 将合约部署到测试网Ropste ...
- 以太坊Python智能合约开发指南
在以太坊上获得一个基本的智能合约是一个很简单的事,只需google查询"ERC20代币教程",你会发现有关如何做到这一点的大量信息.以编程方式与合约交互完全是另一回事,如果你是一个 ...
- 用OpenZeppelin在RSK上进行以太坊ERC20代币开发
在本文中,我们将讨论通过RSK网络部署和交互Smart-Contracts智能合约.我们的合约将是一个基于OpenZeppelin库的ERC20代币,我们将把它直接部署到Mainnet中. 创建合约 ...
最新文章
- 【 MATLAB 】信号处理工具箱之 fft 案例分析
- 仓位 001 998 AUFNAHME不存在(L9009)
- 【hdu5285】wyh2000 and pupil
- redis rdb aof区别_理解Redis的持久化机制:RDB和AOF
- 一步步教你实现富文本编辑器(第四部分)
- 飞龙的程序员书单 – 前端
- 前端想要了解的Nginx
- jdk Collections类
- 油猴脚本修改sciencedirect论文下载名
- dts同步常见问题_家庭影院十大常见故障解决办法
- 40个增长和管理你的WordPress网站的有用博客工具
- 第三方对接-云存储-最新亚马逊Amazon云AWS S3服务JAVA上传图片,访问图片教程(API版本2.14.22)
- Java方法入参三个省略号...啥意思
- SCI写作必备英文单词、语法检查工具
- Win10设置系统补丁更新服务器,win10系统手动更新补丁如何设置 win10系统手动安装更新方法...
- java实现不确定进度条_JavaFX在执行过程时不确定进度条
- ERP系统中的工作流和业务流
- PDN仿真笔记5-电容走线影响寄生电感的因素分析
- java 发送邮件 email相关操作代码测试,生成复杂格式邮件,发送邮件相关操作
- [转贴]“山寨”之现状分析