主页 > imtoken苹果版 > 一个币有几个合约地址 高级语法和概念¶

一个币有几个合约地址 高级语法和概念¶

imtoken苹果版 2023-03-15 05:51:12

合同收款:应付修改器

狗狗币的合约地址_比特币合约期货交割日_一个币有几个合约地址

在虚拟机章节中提到,以太坊智能合约调用是消息的传输,消息传输由调用智能合约方法(传输数据)和以太币支付两部分组成。那么,合约可以接受调用者的以太币支付吗?答案当然是肯定的,请参阅下面的在线商店代码。

一个币有几个合约地址_狗狗币的合约地址_比特币合约期货交割日

contract OnlineStore {
  function buySomething() external payable {
    // 查看付款金额
    require(msg.value == 0.001 ether);
    // 将对应金额的物品转移给调用方
    transferSomething(msg.sender);
  }
}

比特币合约期货交割日_狗狗币的合约地址_一个币有几个合约地址

还有一个关键字payable 和两个环境变量:msg.value 和msg.sender。payable 表示调用者在调用该方法时可以附加调用者想要发送的以太币数量;msg.value 是调用者在实际使用中支付的以太币,要区别于gas费,gas费是为了执行合约而支付给矿工的一个币有几个合约地址,msg.value是直接支付给智能合约的费用。智能合约收到以太币后,可以直接调用其他函数进行等价交换。该功能常用于ICO的代币发行,让用户无需人工干预,直接通过合约将以太坊换成代币,公平、公正、公开。

一个币有几个合约地址_狗狗币的合约地址_比特币合约期货交割日

小运动

狗狗币的合约地址_一个币有几个合约地址_比特币合约期货交割日

请填写以下合约一个币有几个合约地址,以便用户可以用 0.1 个以太币购买 1 个狗代币。

contract OnlineStore {
  mapping (____ => unit) public dogs;
  function buyDog() external payable {
    // 查看付款金额
    require(msg.value == ____ ether);
    // 将对应金额的dog转移给调用方
    _____[msg.sender] += 1;
  }
}