Ethereum 从同一块中的合同调用外部合同

Ethereum 从同一块中的合同调用外部合同,ethereum,solidity,Ethereum,Solidity,请检查此代码: contract Token is StandardToken { function transfer(address _to, uint256 _value) public returns (bool success) { return super.transfer(_to, _value); } } contract CrowdSale { token = Token(:address) function buyToken() pay

请检查此代码:

contract Token is StandardToken {  
  function transfer(address _to, uint256 _value)  public returns (bool success) {
      return super.transfer(_to, _value);
    }
}

contract CrowdSale { 
  token = Token(:address)
  function buyToken() payable {
    token.transfer(beneficiary,tokenAmount); // OPERATION A
    anotherAddress.transfer(msg.value); // OPERATION B
  }
}
在上面的示例中,操作A和操作B会在同一块中调用吗


或者将调用buyToken,它调用token.transfer并等待它被挖掘,然后在下一个块中调用另一个address.transfer,一旦第一个被挖掘?

我认为您在这里对一些概念的理解是错误的。块注册事务

事务实际上是调用一个方法,部署一个契约,“移动契约的状态”

简单地说:是的,由另一个契约调用的契约将在同一块中调用,因为块不包含指令本身,而是包含事务的结果

为了能够给出事务的结果,按照逻辑,整个指令需要在同一块上处理,否则矿工无法确定事务是否有效,然后将其注册到块中