我想创建一个dApp,在这里可以做一些与他们已经部署的合同相关的事情。我们可以说它会被用来管理令牌列表网站。
我需要弄清楚如何验证调用函数的地址是否与创建特定合同的地址相匹配。
例如。 0x01是合同A的合同创建者
0x01调用一个函数以及合同B中合同地址的参数
合同B中的一个功能然后以某种方式查找合同A的合同创建者的地址,并将其与0x01匹配
这可以做到坚固吗?
答案 0 :(得分:2)
pragma solidity ^0.4.20;
contract A {
address private owner_;
function A() public {
owner_ = msg.sender;
}
function getOwner() public view returns (address) {
return owner_;
}
}
contract B {
function findAsOwner() public view returns (bool) {
require(A(address of contract A).getOwner() == msg.sender);
return true;
}
}
我在我的混音上测试了它。我打电话给findAsOwner()
,它通过require
部分并返回true。您可以使用此模式。