繁体   English   中英

Solidity 文档薄荷并发送 function

[英]Solidity documentation mint and send function

Solidity 文档

在文档中,solidity 有这个硬币示例,我阅读了文档,但我不明白两者的区别和目的是什么? mint 和 send 函数在做什么? 发送 function 是有道理的,但薄荷 function 令人困惑。 “向一个地址发送一定数量的新创建币,只能由合约创建者调用”是什么意思

部署硬币合约时,只要您创建一些东西,就没有什么可以使用的。 创建硬币的过程称为铸币。

将一定数量的新创建的硬币发送到一个地址 铸币通常被认为是在不知从哪里向某处发送硬币。 这可能听起来令人困惑,但可以这样想:

如果您想要定期转账:地址(Alice)发送到地址(Bob)

如果你有一个方法要做:address(Nothing) to address(Contract Creator),现在你可以创建硬币了。

只能由合约创建者调用

这是有道理的,因为铸币是凭空创造价值的,而这份合约只允许创造者。

如果你看一下mint function,它有这个require声明:

 // msg.sender is the account that calls the function
 require(msg.sender==minter)

所以只有“铸币者”可以这样称呼。 “铸币者账户”将创建代币并将代币分发给其他账户或出售代币。 因此合同所有者创建者和财务管理员是分开的。 在部署合约时设置minter

    // you declare the state variable first
    address public _minter;

    // you assign a value during the construction of the contract

    constructor(address minter_){
        _minter=minter_;        
     }

在面向对象编程中,当您创建 class 的实例时调用constructor函数。 在 Solidity 中,我们在部署合约时创建了一个合约实例。 当我们部署合约时,我们必须传递这个参数。 如果你在 remix 上部署,你会得到这个:

在此处输入图像描述

您必须在框中输入铸币者地址。

  • send function 被定义为public,所以任何人都可以调用它。 在上面的例子中,它只是用来向接收者账户发送一些硬币。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM