问题标签 [smartcontracts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
922 浏览

ethereum - 使用以太坊合约中的后备功能将以太币发送到外部地址

我正在尝试创建一个合同,当收到一些以太币时,会自动将它们全部发送到一个固定的外部帐户。我需要一个网站,我有很多客户存放以太币。我打算为每个客户提供一个唯一的以太坊账户或合约账户,这样每当他们发送一些以太币时,我的前端就知道谁发送了,并且我从所有客户那里收到的所有资金都会进入我的固定账户“0x83fe472e50cf588f3fb309409bda2ab946248d8d”。

我的合同代码如下:

请帮忙。

0 投票
2 回答
874 浏览

ethereum - 在另一个合约中创建合约实例并调用它的方法会导致抛出异常

我有两个基本合同:一个是代币,第二个是出售。

代币合约

销售合同

StandardTokenOwnable都是来自 OpenZeppelin 存储库的标准实现。完整的合同来源可在此处获得。

所以基本上在我的销售合同中,我创建了一个具有固定供应量的代币合同实例,并将所有代币分配给调用者。然后我将一些代币转移到创始人地址。当我尝试向销售合约发送一些以太坊时,我试图将我的一些代币转移给发送者(在 Remix 浏览器中运行所有代码,我创建了一个销售合约实例并调用“回退”方法指定一些以太币数量)。但是,这会失败并显示“执行期间出现异常。(操作码无效)。请调试事务以获取更多信息。” 信息。调试时我所能看到的只是代码在支付方法中失败:

我看不到确切的原因,因为我无法进入此方法并查看内部发生的情况。

有趣的是,当我在销售合同构造函数中删除对令牌实例的传输方法的调用时 - 代码似乎运行良好,没有任何异常。

我错过了什么?

0 投票
1 回答
254 浏览

blockchain - 如何在智能合约中包含真实世界的数据?

假设我想写一个简单的合同来赌 10 天后的天气,或者体育赛事的结果。

我如何连接到托管数据的第三方应用程序并使用它来编写我的智能合约?

0 投票
1 回答
244 浏览

bitcoin - 在以太坊区块链中,智能合约的交易细节是在哪里写的?

我一直在阅读有关区块链和以太坊的信息,但我似乎无法理解几个概念。

首先,新创建的交易存储在区块链的什么位置?因此,如果区块链已经运行了一段时间,假设我们现在在区块 X 上。如果我今天部署我的合约并且它被执行,我的交易详细信息会驻留在区块 X 之后的每个区块上还是仅驻留在区块 X + 1 上?我的交易细节会是那个区块的唯一细节,还是那个区块会包含在那个时间段内发生的每一笔交易?同样,所有先前的块交易是否也被写入后续块?如果超过 1 笔交易从同一个合约中执行,只是写成 2 个不同的区块或在同一个区块内,会发生什么?

其次,在设计合同时,我看到它通常仅限于签订合同的双方,并且其他人使用该合同必须创建一个新的合同实例,这种理解是否正确?还是应该以每个人都使用它并且只创建一个实例的方式设计一份合同?

0 投票
1 回答
149 浏览

blockchain - 如何为自定义功能修改智能合约模板

我查看了几个智能合约模板并阅读了几个教程。但是他们都没有逐行查看这些代码的细节。我想添加一个将公司利润分红回馈给客户的功能,我应该在哪里添加呢?例如下面的代码模板,我可以在代码块中添加我的函数 giveBackDividend() 吗?

谁能带我了解一下 ICO 智能合约的一般结构?

}

0 投票
1 回答
3702 浏览

blockchain - 重新混合solidity合约如何将多个参数传递到创建按钮

我有一个示例代码,如下所示:

它只需要我将 (address _teamMultisig, uint _start, uint _end) 三个参数传递到创建按钮来创建合同,我试过了

给出错误:

和:

给出错误

在这里传递参数的正确方法是什么?

0 投票
2 回答
745 浏览

solidity - Hello world 合约方法调用返回未处理的拒绝错误

这是我的package.json

这是我的智能合约代码:

我已经在运行 testprc 的节点 repl 上编译了这个合约,并且我正在尝试displayMessage像这样调用该方法:

或者

但我只是收到这个错误:

我试过阅读 web3 api 文档,但我是新手,没有发现任何有用的东西。任何人都知道我怎样才能在服务器上显示“来自智能合约的你好”?

谢谢!

0 投票
1 回答
40 浏览

blockchain - ICO结束智能合约后如何回馈每位客户自定义数量的以太币?

我想修改智能合约模板,添加一个函数,这样它会在众筹结束后发回一定数量的以太币。问题是,我不太了解智能合约是如何工作的,即使在 ICO 结束后它们也会不断被调用吗?

另外,我是否可以跟踪我的代币发生的每一笔交易,以便在我的代币出现在交易所并且人们开始交易它们之后我会知道谁拥有我的代币?即我需要知道谁目前持有我的代币和他们的钱包地址。任何人都可以对我有所了解吗?

0 投票
1 回答
163 浏览

blockchain - 从外部调用以太坊智能合约功能的最常见方式是什么?

我正在使用以 Solidity 编写的以太坊智能合约创建 DApp。

我想与合约交互并向 P2P 游戏的获胜者支付代币。为简单起见,游戏可能是石头剪刀布。证人将主持比赛,并向合同发送电话以支付给获胜者。

假设我们有两个玩家:player 1有一个带有公钥的以太坊钱包a1b2c3d4e5(本轮获胜者)

player 2有一个公钥f6g7h8i9j0(该轮的失败者)

见证人如何player 1从游戏端访问我的 Solidity 智能合约中的支付功能?

0 投票
1 回答
66 浏览

blockchain - 请求如何从应用程序发送到智能合约?

我不太了解智能合约。当我在区块链上部署智能合约时,智能合约会保存在每个节点上。这是否意味着当一个节点尝试联系智能合约时,它会在其设备上联系它?我之所以这样问,是因为当我开始 Solidity 编程时,我不知道发件人地址是什么意思。它是节点的地址(IP地址)还是什么?

如果我不明白,请原谅我。这是区块链,它有点新。

提前致谢。