如何开发编译部署调用智能合约(智能合约开发全流程)?

187
okx
在Solidity中,一个合约包含了一组代码(合约的函数)和数据(合约的状态)。合约被放置在以太坊区块链上的一个特殊地址上。使用uint storedData声明了一个状态变量,它的名称是storedData,类型是uint(256位无符号整数)。它类似于数据库中的一个存储单元,并且可以通过调用函数进行修改和查询,就像管理数据库一样。在以太坊中,通常只有合约的拥有者才能这样做。函数set和get用于修改和查询变量的值,就像在访问数据库时一样。

与其他编程语言相似,访问状态变量时,不需要在前面增加this前缀。然而,这个合约限制了它的使用,只允许任何人储存一个数字,而且世界上任何一个人都可以来储存和访问这个数字,缺乏一个(可靠的)方式来保护你发布的数字,任何人都可以调用set方法设置一个不同的数字覆盖你发布的数字。但是,你的数字将会留存在区块链的历史记录中。稍后我们将学习如何增加访问限制,使得只有你才能修改这个数字。

下一个例子将实现一种最基本的加密货币形式。现在空中取币不再是魔术,只有创建合约的人有权利这样做。任何人都可以发送货币给其他人,不需要注册用户名和密码,只要有一对以太坊的公私钥即可。

需要注意的是,这不是在在线solidity环境中进行的好的例子。因为在该环境中调用函数时,无法改变from的地址。因此你只能扮演铸币者的角色,能够铸造并发送货币给其他人,无法扮演其他人的角色。这个问题在线solidity环境将来会进行改进。

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

进群交流|欧易官网