问题标签 [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 投票
13 回答
22428 浏览

ethereum - Solidity中的字符串连接?

我如何在solidity中连接字符串?

好像不行。。

我查阅了文档(https://github.com/ethereum/wiki/wiki/Solidity-Tutorial#elementary-types-value-types),没有太多关于字符串连接的提及。但据说它与点 ('.') 一起使用?

对我也没有用..:/

0 投票
1 回答
406 浏览

arrays - 将整数数组向左移动 n 位

似乎按n位移动/旋转数组应该很简单。

但是,我正在使用的编程语言(Solidity)没有任何这样的运算符(即没有移位或旋转运算符)......

我有一个无符号的 256 位整数(它是 Solidity 类型uint256)。

我想知道我是否可以以某种方式“手动”进行移位或旋转操作?

我的意思是,执行一些乘法 ( *)、mod ( %) 或类似操作来提供所需的移位和旋转?我知道这可能效率很低,但我只需要每小时执行一次或两次此操作,因此在我的用例中并不重要。

0 投票
1 回答
253 浏览

ethereum - 登船气体限制有什么问题?

我在使用 Embark 部署合同时遇到问题。

我之前已经成功地使用过较小的合同。

这是问题提示:

合同部署在 0xc9f10a4696f4102d0ef3ec4ce5eb5426828a1b06 但似乎没有工作尝试调整你的气体值

合约部署了,里面的所有函数都不能调用?

如何解决这个问题呢?

0 投票
2 回答
1227 浏览

javascript - 如何从不同节点访问合约功能?

我有两个合同说 A 和 B,两个节点在不同的机器 Machine1 和 Machine 2 上运行,具有相同的网络 ID,我使用节点 url 添加了对等点。合约A由机器1部署在区块链上,合约B由机器2部署。现在我想从机器2和机器1访问合约A的功能,并从机器2和机器1访问合约B的功能。我如何访问这些功能

0 投票
3 回答
33440 浏览

memory - 在 Ethereum Solidity 中,“memory”关键字的作用是什么?

在查看示例合同时,有时数组是在具有“内存”的方法中声明的,有时则不是。有什么不同?

0 投票
1 回答
265 浏览

bitcoin - 在不删除换行符的情况下编译智能合约

我是与以太坊编写智能合约的新手。

根据官方文档,编译智能合约需要删除合约源代码中的所有换行符:

https://ethereum.gitbooks.io/frontier-guide/content/contract_greeter.html

由于我认为删除过程并不聪明,我想编译代码本身,如:

迎宾员.txt

有人该怎么做吗?

我使用的编译器是 Solidity。

0 投票
1 回答
2607 浏览

ethereum - Solidity - “未捕获的类型错误:无法读取未定义的属性‘合同’”

我对 Mix IDE 和以太坊(特别是solidity)有点陌生,我有一个幼稚的问题。我网页中的 javascript 代码如何与合同代码“绑定”?我写了一个接受值的简单网页,但 javascript 似乎无法将值传递给实际合同。确切的错误行是:

Mix 给我的确切错误是:

“未捕获的类型错误:无法读取未定义的属性‘合同’。”

所以它显然认为contracts["MyFirstContract"]为零

但是,MyFirstContract.sol 文件存在!javascript 如何知道我在说什么合同文件?它似乎没有出现在文档中,尽管我可能遗漏了一些东西。

0 投票
6 回答
12954 浏览

ethereum - Solidity 中的事件触发

我目前正在开发以太坊平台(node.js 和solidity)。我的问题是如何使用 node.js 在solidity(contract) 中触发事件?

0 投票
2 回答
1443 浏览

blockchain - 向 Solidity 结构添加一个新字段会使以太坊合约停止工作

在以太坊专用网络(geth)中,我确实有非常简单的合约(在 Solidity 中)。

版本 1:

我确实部署了合同,然后像这样调用它(来自web3.js):

  1. 合同.getLog()
  2. contract.setBalance(valid_address, 55)
  3. 合同.getLog()
  4. contract.getBalance(地址)
  5. contract.get42(地址)

我得到输出结果:

  1. [通话结束]:T()
  2. [通话结束]:setBalance()
  3. 55
  4. 42

现在我只需在 TData 结构中添加一个新字段:

版本 2:

我执行与上述相同的调用:

  1. 合同.getLog()
  2. contract.setBalance(valid_address, 55)
  3. 合同.getLog()
  4. contract.getBalance(地址)
  5. contract.get42(地址)

但现在我得到:

  1. [通话结束]:T()
  2. [通话结束]:T()
  3. 0
  4. 0

似乎“ setBalance() ”函数未执行(或在某处退出)并且存储中的状态未更改。

请帮忙!

谢谢。

0 投票
2 回答
11887 浏览

arrays - 如何初始化结构中的数组

我有一个结构购买,我在其中放置了一系列付款。但是,当我尝试在我的makePayment方法中添加新的支付数组时,我从solidity 编译器返回一个错误:“内部编译器错误:将类型struct Payment memory[] memory 复制到尚不支持的存储。” 当我将 mayment 数组更改为storageormemory时,我得到了同样的错误。我在下面添加了相关代码。

有可能做我想做的事情吗?我在文档中没有看到任何明确说明这是不可能的内容,但我也没有看到任何示例在做我想做的事情。:|