主页 > imtoken冷钱包安全吗 > 来学习其中一款智能合约的编程语言和开发环境
来学习其中一款智能合约的编程语言和开发环境
1.编程语言
编写智能合约的语言有几种:
Solidity:有点类似于Javascript风格,文件扩展名为.sol。
Serpent:类似Python风格的Serpent,文件后缀为.se。
LLL:类似于Lisp,估计很多人都没听说过这门语言。
Serpent流行了一段时间,但现在智能合约的主流编程语言是Solidity,维护也及时,比较健壮和稳定。
举个小例子:
pragma solidity ^0.4.8;
合同欢迎
{
函数 PrintWelcome() 常量返回(字符串)
{
返回“欢迎”;
}
}
很简单,返回一个固定的字符串。
二、编译
编译使用solc,在以太坊github上有源码供分析。 但是,它是用c++写的,涉及到很多编译链接的知识。 要想看懂,就需要学习和参考这两方面的资料。
三、开发环境
智能合约的开发环境也有很多,包括各种测试环境和编译工具。 我简单介绍一下(安装略过,可以去网上找相关的安装资料,比较简单)。
正常环境
testrpc:创建测试网络的一种非常方便和简单的方法。 testrpc可以配置一些账号,这样就不用像私链那样绕来绕去了。 比较适合做测试以太坊开发语言,但是有些东西实际部署到链上的时候可能会出现一些问题。 ,所以还是需要注意的。
Truffles:一个非常流行的开发框架,可以在本地编译和部署智能合约。 刚开始用了一段时间,现在偶尔用。
集成环境
集成环境也发生了一些变化。 现在流行的是基于网络的 Remix。 也有混合,但是因为写这个工具的高手是从以太坊离开的。 所以让我们做混音。
3.部署调用
可以通过 Remix 或通过带有命令的 Web3j 来完成部署。 如果您有合同以太坊开发语言,请将其复制到 Remix 并进行编译。 您将获得一个部署命令。 相近:
var 欢迎合同 =
web3.eth.contract([{"constant":true,..."type":"function"}]);
var welcome = welcomeContract. 新的(
{
来自:web3.eth.accounts[0],
数据:'0x608060 ...',
气体:'4700000'
}, 函数 (e, 合同){
安慰。 日志(e,合同);
……
}
})
然后将其复制到geth控制台并执行。 如果你是在私有链上挖矿,你可以很快得到结果:
合同开采!
地址:0x096aa2dd30751f49b62f5372150984cf1cfd3124
交易哈希:0x17c8d760a243ee8dcf2bc9f258e3290f69c4e61ad49d2eadff0eebe525a05cb5
这是准备使用。 指示:
在geth类型的控制台上:
欢迎合同.PrintWelcome()
此时控制台会显示:“Welcome”。
最后,无论是编程语言、编译器还是编程环境,都在不断变化,需要及时跟进。 所以,现在你可以顺利的学习Solidity语言,并用它来开发智能合约了。
如果你对c++和区块链感兴趣,请关注: