Blockchain 区块链以太坊中的智能合约

Blockchain 区块链以太坊中的智能合约,blockchain,ethereum,truffle,Blockchain,Ethereum,Truffle,我正在尝试使用testrpc和truffle部署一个智能合约。我的智能合约就像HelloWorld一样简单。已使用0xfd52dd6fd4002b86ccbd3ae7c7a3e1a9d16c3648此地址成功部署合同。我唯一不明白的一点是,一份合同应该涉及双方。当我运行这个命令HelloWorld.deployed()时,我只从地址获取。我想要两个参数,即从&to。我的问题是,在以太坊中签署合同时,如何包含至参数?智能合同不一定是您所认为的合同。我假设你正在想象一个合同,其中双方同意某件事,而这

我正在尝试使用testrpc和truffle部署一个智能合约。我的智能合约就像HelloWorld一样简单。已使用0xfd52dd6fd4002b86ccbd3ae7c7a3e1a9d16c3648此地址成功部署合同。我唯一不明白的一点是,一份合同应该涉及双方。当我运行这个命令
HelloWorld.deployed()
时,我只从地址获取。我想要两个参数,即从&to。我的问题是,在以太坊中签署合同时,如何包含参数?

智能合同不一定是您所认为的合同。我假设你正在想象一个合同,其中双方同意某件事,而这就是存储在区块链上的数据作为证据

情况未必如此

智能合约只是以太坊区块链上的一个用Solidity编写的程序,这个程序可以与任意多的人一起做任何你想做的事情

i、 e.我可以创建一个“智能合约”,接收以太并收集到特定日期,在该日期,它将把收集到的所有以太释放到指定的帐户

这不必由任何人“签署”,任何数量的参与者都可以前来并在本合同中存入乙醚,直到某个特定日期,在该日期,其他任何人都不能存入乙醚

“合同”的实质是,每个参与的人都可以看到,以太在那之前是保证被锁定的,并且保证将收集到的东西释放到那个地址——这是不能改变的。通过与合同互动,你实质上是在“签字”,表示你同意合同涉及的条款

因此,在您的“hello world”契约的示例中,您可以将其部署到网络上,此时希望运行该契约的任何人都可以检查它的功能,然后运行它以显示“hello world”

因此,您可以列出一个“发件人”地址来指定它的来源,但“收件人”地址是不必要的,因为任何人都可以看到/与之交互


如果您想限制合同供特定人员使用,您必须在合同上列出这些地址,并确保每当有人打电话时合同都会检查,如果他们来自指定的地址,如果不是,您可以恢复,这将向用户发送一条消息,说明他们不允许运行该功能等。

ContractName.deployed()
应提供合同实例,然后你可以打电话到
.address
获取地址。看起来这家伙就是这么做的。我想他并没有意识到合同本身有一个由他的钱包签名的地址

智能合约不仅仅是双方之间的合约,它是以太坊区块链上可以挖掘的可验证代码。它有一个地址,你可以从钱包里广播。您正在呼叫的“发件人”地址是您部署的合同的地址