智能合约构造函数中可以使用this吗?

  • Tiny熊
  • 更新于 2019-07-25 11:25
  • 阅读 6229

智能合约的地址什么时候有效? 在构造函数中可以使用this吗?

智能合约的地址什么时候有效? 在构造函数中可以使用this吗?

通常的直觉是智能合约应该在构造完之后(即构造函数constructor执行完之后),其实并不是,在constructor中是可以使用this来表示当前合约的地址,因为在发起交易的时候,就已经可以确定合约的地址,参考合约地址的计算

可以使用下面的代码测试一下:


pragma solidity ^0.5.0;

contract Test {
  address public thisAddress;
  event LogAddr(address);

  constructor()  {
    thisAddress = address(this);
    emit LogAddr(address(this));
  }
}

深入浅出区块链知识星球提供专业的区块链问答服务,如果你需要问题一直没有思路,也许可以考虑咨询下老师。

学习中如遇问题,欢迎到区块链技术问答提问,这里有专家为你解惑。 深入浅出区块链 - 高质量的区块链技术博客+问答社区,为区块链学习双重助力

点赞 1
收藏 0
分享

0 条评论

请先 登录 后评论
Tiny熊
Tiny熊
0x1231...6564
登链社区发起人 登链团队对 DEFI 应用有深刻的理解和丰富的开发经验,如果你有开发、审计、培训合作等需求, 加我微信:xlbxiong 。 咨询问题在问答区提问即可,微信好友太多,不看问题,请凉解~