智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp。不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试
写在开头 在我写这遍文章的时候,距离EOS曝出漏洞已经有三天时间,区块链行业热点来的快去的也快,每每出现安全相关问题,都会给整个行业带来震荡。自从我开始关
转账如果在函数中涉及到以太币的转移,需要使用到payable关键词。意味着可以在调用这笔函数的消息中附带以太币。123function pay() public payable{ }this代表合约地
连续继承合约可以被连续的继承,在下面的合约中,father继承了grandfather、son继承了father。那么son也同样继承了grandfather中的状态变量和方法。12345678910
pure与view代码例子如下的一段solidity智能合约中,只要有了pure与view修饰符的函数,那么调用函数就不会消耗gas。而没有pure与view修饰的函数,如下面的change就会消耗g
动态字节数组转换为string动态字节数组可以通过string(name)非常直接的转换为string类型,下面为例子:1234567891011121314pragma solidity ^0.4.
函数的一般形式1function () {public|internal|external} [pure|constant|view|payable] [
在之前,我们已经写好了一个最简单的helloworld合约,如下:1234567891011121314151617pragma solidity ^0.4.23;contract HelloWorl
动态二维数组定义uint[][] public grade = [[60,80],[40,20],[50,50]];获取长度123456789function getLength() view pub
固定字节数组转动态字节数组要将固定长度的字节数组转换为动态长度的字节数组,需要首先创建动态数组,并挨个赋值。12345678910111213141516pragma solidity ^0.4.23