智能合约101:合约的结构是什么?

时间:2021-09-03 10:20编辑:mozhe来源:网络整理当前位置:主页 > 加密货币 >

合约的结构说起来有点复杂,其实智能合约的设计和传统的应用设计有点不同。传统应用一般为了快速迭代是在产品之后考虑安全,但是 DApp 则需要在产品出来之前就考虑安全问题,它将会关系到账户资产、用户数据等问题,而且对 DApp 来讲,升级是个比较麻烦的事情,因此在智能合约设计时,结构是非常重要的部分。

下面是一个简单的智能合约的例子。让我们观察合约的结构并查看其每一行代码。

pragma solidity >=0.4.16 <0.8.0;
contract FirstContract{
    string _name;
    function setName(string name) public{
        _name = name;
    }
    function getName() view public returns(string){
        return _name;
    }
}

First Line  pragma solidity >=0.4.22 <0.6.0;  告诉智能合约编译器您使用的是哪个版本的 Solidity 编译器代码。

在第 2 行,FirstContract可以替换为任何文本,这是您为合同命名或标题的地方。

在大括号内,有一个名为_name的字符串变量,这行代码将记录一个要存储在区块链上的值。 

此外,还有两个函数:setName()和getName()。

setName接受一个字符串输入name。它的可见性类型是public,这意味着它可以在内部和外部调用。在函数内部,参数名称将替换_name存储的现有值。由于此功能将更改区块链上的数据,因此将花费以太币。

另一个函数getName,view表示该函数是只读的。此函数返回一个字符串值_name,它与我们存储在区块链上的字符串值相同。

上述组件的组合创建了一个简单的智能合约。

上一篇以太坊的矿显卡关于芯片机和显卡机的区别

下一篇我如何在加密货币交易所出售狗狗币?

热点资讯

精选资讯