2017-12-18 244 views
-1

我试图使用testrpc &松露来部署智能合约。我的智能合约和HelloWorld一样简单。合同已成功部署,此地址为0xfd52dd6fd4002b86ccbd3ae7c7a3e1a9d16c3648。我不明白的唯一一点是,合同应该涉及两方。当我运行这个命令HelloWorld.deployed()时,我只能从地址获得。我想要两个参数,即从&到。我的问题是如何在以太坊签署合同时包含TO参数?区块链以太网中的智能合约

回答

0

智能合约不一定是您所想的合约。我假设你正在想象一个合约,其中双方同意某件事,并将其作为证据存储在区块链中?

这不一定是这种情况。

智能合约只是一个写在以太坊区块链中的Solidity上的程序,这个程序可以随心所欲地做任何你想做的事情。

即我可以创建一个'智能合约',它接收乙醚并将其收集到特定的日期,此时它会将所有收集的乙醚释放到指定的账户。

这不必由任何人'签名',任何数量的参与者都可以进入并将乙醚存入本合同,直到某一特定日期,其他人无法存款。

“契约”的实质是,每个参与者都可以看到,在此之前以太被保证锁定,并且保证将收集到的信息发布到该地址 - 这是不能改变的。通过与合同交互,你基本上是“签署”,说你同意合同涉及的条款。

因此,在您的'hello world'合同的示例中,您可以将其部署到网络,在此时任何想要运行该合同的人都可以查看它的功能,然后运行它以显示'hello世界'。

因此,你列出一个'从'地址来指定它来自哪里,但是'to'地址是不必要的,因为任何人都可以看到/与之交互。

如果您想限制某些特定人员使用的合同,您必须在合同中列出这些地址,并确保合同在有人呼叫时检查是否来自指定的地址,如果不是,则可以恢复发送消息给用户说他们不允许运行该功能等。