问题标签 [solidity]

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 投票
5 回答
31228 浏览

ethereum - Solidity 中是否有类似 null 的东西

如果买家映射中没有记录买家,则buyerNum++;但我不知道如何判断买家是否在映射中

0 投票
1 回答
98 浏览

ethereum - 有没有办法按提交合并的频率对 Ethereum GitHub 提交者进行排序?

有没有办法按照提交最终合并的时间百分比对 Ethereum GitHub 提交者进行排序?

以太坊是指此处列出的任何 Github 存储库https://github.com/ethereum,例如:

0 投票
1 回答
661 浏览

ubuntu - 无法将 solc 链接到 Geth

我已经solc在 ubuntu 中安装了 Solidity 编译器 ()。无法链接solcGeth

我们应该怎么做?

以下是我已经完成的步骤:

它将显示如下:

我想显示如下:

0 投票
1 回答
3096 浏览

blockchain - 智能合约如何处理多个用户和不同的存储?

我正在以太坊区块链上试验智能合约。假设我有一个合同,类似于Solidity 文档中的SimpleStorage.sol ,它具有任何人都可以访问的存储状态。如链接所述,

任何人都可以使用不同的值再次调用 set 并覆盖您的号码

这会导致问题,并且将该功能的可访问性限制为特定帐户的解决方案不适合我的用例。在我的合同中,我希望每个帐户设置的数据以后可以由不同的预定帐户访问(考虑这样一种关系,其中人 A->B 所以 B 只使用来自 A 的数据,而 x->y 使用数据完全来自 x。在 y 可以使用 A 的数据的情况下不存在重叠)。据我了解,该问题有两种解决方案:

  1. 将地址相互映射并跟踪此单个智能合约中的所有数据。
  2. 拥有一个初始账户可以访问的智能合约“模板”,并为每个新账户生成一个单独的智能合约,以简单地保存与模板交互的数据。

当账户之间的关系变得更加复杂(映射单独的结构?)或大量人试图将他们的信息存储在合约中时,就会出现1的问题。

2的问题是冗余。我真的需要为每个试图访问主模板的人制作一份单独的“合同”吗?

如果我的问题含糊不清,我可以解释更多,但我主要是在寻找一个概念性的答案。我发现的大多数智能合约示例要么非常简单,要么过于复杂,并且没有提供具体的用例。

0 投票
2 回答
1854 浏览

blockchain - 如何测试智能合约和交易 geth

总的来说,我对 Solidity 和区块链不熟悉,我尝试进行交易并部署智能合约,但似乎我们需要以太坊来“支付”这些行为。有没有办法获得免费或“假”的以太坊来轻松测试交易和智能合约?

0 投票
1 回答
7682 浏览

ethereum - 以太坊合约变量的初始值是多少?

我用映射数据制作了一些合约代码。当我第一次访问数据值时,以太坊返回0.

它是以太坊的规范吗?换句话说,我可以在假设变量的初始值为 的情况下编写合同0吗?

0 投票
1 回答
526 浏览

ethereum - 创建“交易处理程序”智能合约

我的实习生刚接触solidity 和geth,我开始使用solidity 在线IDE 和geth 开发模式部署contrcts。我的问题是我尝试了几种不同的方法,但似乎没有任何效果。

代码:

我也尝试了这个solidity教程的合同,但它也没有像我预期的那样工作:

我只是想制作一个智能合约,可以在发送方和接收方之间进行交易,但账户余额不会移动。这些功能是否只是抽象的,以了解 Solidity 的工作原理,还是这真的可以改变平衡?感谢您的回答:)

0 投票
1 回答
173 浏览

blockchain - 如何在以太坊上运行投票代码并获得结果?

我在 MIST 以太坊钱包上执行了此处发布的代码,问题是我找不到如何“停止”投票并获得最终结果。你能启发我吗?

0 投票
0 回答
1335 浏览

javascript - Javascript函数在特定行后不执行

我目前正在使用 Truffle 和 testrpc 为以太坊创建 ​​Dapp。在我们的注册页面上,我有一个按钮,可以让用户使用输入的所有信息进行注册。但是,当按钮被点击时,app.js javascript 文件中的注册函数被调用,但不执行传递的var regi = Register.deployed();行。我在网页上的控制台中遇到错误,如下所示。我已经尝试调试了几个小时,但没有成功。

控制台错误

这是 app.js 文件。注册函数是获取输入的数据并将其发送到注册合约的函数。

下面的代码是 index.html 文件。标签是点击时在 app.js 中调用 register()的<button id="confirmsignup" onclick="register()">Sign Up</button>按钮。

最后,最后一个是为用户设置帐户的合同注册代码。

我无法弄清楚为什么代码在 javascript 行 Register.deployed() 之后没有执行。任何可能引导我走向正确方向的帮助都会有所帮助。太感谢了!

0 投票
2 回答
3564 浏览

java - 如何使用java从solidity合约中获取价值

我的坚固合同如下:

并生成 abi 如下:

并被https://github.com/ethereum/wiki/wiki/JSON-RPC引用,

如何 使用java(不是js)调用get函数并获取值?