【发布时间】:2016-04-15 13:31:48
【问题描述】:
我正在使用 testrpc 和 web3。
我使用下面的成语来确保只有以前定义的用户才能做某事:
function doSomethingProtected() {
if ( msg.sender != authorizedUser )
throw;
flagSomething = true;
}
在使用 web3 的实例化合约上调用函数时,如下所示:
myContract.doSomethingProtected( { from: "0x..." } );
成功了。起初我很高兴,但后来我意识到 web3 API 并没有要求我为私钥等提供任何密码。
任何人都可以简单了解某人的公钥/地址来调用这个函数吗?
在示例中使用这个成语让我相信以太坊合约的一个好处是它确保 msg.sender 得到加密保证。
【问题讨论】: