问题标签 [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 回答
1708 浏览

solidity - 将元素添加到结构

我不能使用( push ),因为它只与状态变量一起使用

这是错误:

错误信息

(推)有没有其他选择

0 投票
1 回答
768 浏览

solidity - 从智能合约调用函数

我可以在不使用 truffle-contract 的情况下与部署的合约中的函数进行交互吗?

我只想运行并使用我的函数来检查它们是如何工作的。

我用 MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."});

但它不起作用。

任何想法或建议

谢谢

0 投票
1 回答
299 浏览

blockchain - 如何让智能合约程序调用外部数据?

如何让智能合约程序调用外部数据?数据存储在桌面的硬盘中,但需要不断更新,新的内容会定期由另一台从机传送。

如果合约被解散在私有链上怎么办?

0 投票
2 回答
1720 浏览

blockchain - Truffle Solidity - 从不同的合约调用函数

我正在尝试实现一个函数,该函数在另一个合同上调用不同的函数并返回该值。我怀疑这可能是在接收到先前的值之前调用承诺和函数的问题。但是,我不知道您如何在合同中实际实施这一点以及是否可能。我正在使用 Truffle、TestRPC 和 Solidity 编写合约,并从 truffle 终端调用函数。合约看起来像这样(仅显示最低限度的功能):

主合同:

公司合同

股东合同:

编辑:在 Rob 的回复和更多测试之后,我意识到这与承诺无关,而是与 Creator 合同对 Company 合同的实例化有关。当直接从 truffle 部署时,Company.sol 的功能可以工作,但是当从 Creator 部署时,只有某些功能可以工作,不包括我提到的那些。我在我的构造函数 createCompany() 函数中看不到任何错误,如果有,请告诉我。

0 投票
1 回答
920 浏览

ethereum - 以太坊和 Fabric 中的智能合约限制

我正在尝试制定智能合约以自动实现以下目标。但我坚持实施。如何在没有 B 签署 Tx 的情况下运行 (2) Tx,即:我希望它在 (1) 被激活并且条件 (2) 准备好后自动运行。

伪代码(一):

上面的代码涉及多个所有者,即。A、B 和 C。首先,A 通过运行/签署 Tx (1) 来激活合约。然后合约检查条件(2)。现在,但是如何在不必强制 B 签名的情况下自动运行(3)呢?

最终,合同是否能够在 B 的行为上签字(或代理签字)?


编辑

任何链码中的下面呢?它可以自动运行吗,即没有 D 必须使用 (3) 中 D 的私钥签名?

伪代码(二):

0 投票
2 回答
4894 浏览

node.js - 从 node.js 调用已部署的智能合约

我有一个小型测试智能合约,它部署到我的测试网络。我想使用服务器来调用合约中的函数。这是代码:payontime.sol

我使用truffle serve和一个网页来新合同。

应用程序.js

app.js记录地址0x1d379f2ab48ad20319e9f81cb45af415aa6f2966,我想用这个地址wakeUp()通过payontime.sol另一个应用程序调用index.js

但是有一个错误信息: BigNumber Error: new BigNumber() not a base 16 number 我发现它可能是由于 not fully synced引起的。我认为在部署的合同中调用该函数时会出现一些问题。那么如何从 web.js 调用已部署的合约呢?

0 投票
1 回答
417 浏览

blockchain - 如何在 Hyperledger 智能合约中存储和发送一些图像(图片)?

我想知道如何在 Hyperledged 智能合约中存储和发送一些图片或链接到一些资源的交易。

我应该在代码的哪里做?

0 投票
0 回答
670 浏览

android - Go Ethereum Mobile (Android) 合约 ABI 错误

我想通过移动设备(此处为 Android)与以太坊中的智能合约进行交互。智能合约与以太坊的 Javascript API 配合良好。所以我想使用 Go Ethereum Mobile Client (1.6.0)(包含在 gradle 中)。我可以连接到区块链,获取节点计数,读取余额,但与合约交互是我的问题。

使用命令行工具“abigen”生成 Java-Class 很好。我只需要把“bool”改成“boolean”,就可以上课了。每当我尝试交互时,Go Ethereum 都会在以下位置引发异常:this.Contract.call()

所以我只想做以下事情:

动作 1 声明(生成的类)

尝试发送数据时(参见上面的操作 1)

行动 2 宣言

试图从一个常量函数中获取数据(所以应该是免费的)

ABI 字符串提取:

这是相关的 github 问题:https ://github.com/ethereum/go-ethereum/issues/14363

0 投票
1 回答
3383 浏览

ethereum - Solidity:更改已发布的智能合约中变量的值

我正在尝试更改区块链中合同中变量的值。我已经扣除了它的代码,是这样的:

假设我有正确的库函数签名,我要做的是更改“variableToBeChanged”的值,以便执行 if 中的代码。可能有一种方法可以使用具有正确名称的函数创建一个库,并以某种方式插入汇编代码来更改变量的值。但这就像用原子弹杀死一只蚂蚁。我正在寻找更简单的方法来做到这一点。我也知道这份合同不安全,我试图了解这是否可能,并且我想了解这对一份合同来说有多大风险。

0 投票
0 回答
453 浏览

java - EthereumJ 如何将智能合约部署到私有网络?

我通过 go-ethereum 建立了一个私有以太坊网络,并配置了 Ethereumj 的配置以连接到私有网络,我可以在 go-ethereum 的控制台中看到 Ethereumj 的信息:

然后我运行部署合约的示例(CreateContractSample.java),go-ethereum 正在私有网络上挖矿,但我得到了输出:

我想知道这个错误的原因。