问题标签 [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.
solidity - 如何使用松露测试跨合约调用的智能合约?
我有两份合同,我写在一个名为 Sum.sol 的文件中。sum 合约调用 Add 合约。我只想测试跨合约调用。如果我没有将两个合约放在一个文件中,使用 truffle 编译 Sum 会失败。但是当我做测试时,结果太奇怪了。我不知道这是怎么发生的。
然后我在松露中为它写一个测试
并使用 truffle 进行测试,结果是:
ethereum - 在合约中预置gas以在方法期间支付
是否可以与 Wei 签订合同,用于为未来的方法调用支付 gas 费用?
与 Wei 创建合约后,我想降低调用方法的价格。
blockchain - Ethereum Solidity 是否支持关联数组?
例如 - 具有命名索引或哈希的数组。类似于 PHP 代码的东西;
谢谢
ethereum - 坚固性未定义
当我使用solidity编译一个简单的合约时,我有一个问题。它是这样的:
我不知道为什么结果是“未定义”,有什么问题?我在mac os上使用它。
javascript - 获取另一个合约部署的合约地址
我正在尝试从另一个工厂合同部署合同,然后返回新创建合同的地址。然而,它返回的地址是交易哈希而不是合约地址。我相信这是因为返回地址时合约还没有被挖掘。当我使用 web3 deploy 部署合同时,它似乎要等到合同部署完成后再输出地址。
工厂合同:
这就是我调用 createContract 函数的方式。
solidity - 为什么地址存储在合约中时会小写?
我问这个,因为我不确定这是错误还是正常行为。这是一个简单的合同。
存储与获取:
0x203D17B4a1725E001426b7Ab3193E6657b0dBcc6 0x203d17b4a1725e001426b7ab3193e6657b0dbcc6
如果 EVM 只理解小写地址,那么为什么有些服务会生成大小写混合的地址?
solidity - 在 Solidity 智能合约中发送以太币
我正在编写一个可靠的智能合约,我需要将以太币从我的 coinbase(eth.coinbase)发送到我的朋友 coinbase(地址 = 0x0123)。
如果我尝试使用 address.send(value) 该函数不会减少我的帐户,也不会增加我的朋友币基数。
我只能使用“eth.sendTransaction(VALUE, {from:eth.coinbase, to:address})”在 geth 中发送以太币,所以我想知道是否可以在合约中调用 eth 方法或以其他方式发送以太币在智能合约中
solidity - Solidity - 填充和使用数组数组
我与以下数据结构签订了合同:
如何填充数组?
以下行不起作用:
我在这里得到错误:
尚不支持将 struct Roadshow.Answer memory[] memory 类型复制到存储。
blockchain - 处理以太坊 DApp 中的用户资料
我正在创建一个以太坊 DApp。DApp 由拥有相关数据(如电子邮件、姓名和个人资料图片)的用户组成。我想将 IPFS 中的用户内容存储为 JSON 对象,并使用 IPFS 哈希在链上引用它。我如何才能将这些数据与特定用户相关联?从某种意义上说,与 DApp 的后续交互将用户与存储在 IPFS 中的数据联系起来。这是使用带有某种密码的用户帐户哈希完成的吗?
例如,用户 A对使用 DApp 感兴趣,因此提供了他或她的电子邮件、姓名和头像。然后与 DApp 的任何后续交互,例如评论或帖子,都会将此用户链接到 IPFS 中的相应用户数据。
对这种建模用户方式的任何建议或调整将不胜感激。谢谢!
(PS 我来自传统的网络/移动应用程序世界,所以我只是习惯于使用智能合约进行建模。所以如果这是一个简单或结构不正确的问题,我提前道歉。)
solidity - Solidity 和 log3 中的低级事件 - uint 到 byte32
我有一个关于 Solidity 低级别事件的问题,我无法真正理解。
所以理论上一个看起来像这样的事件:
在函数内部,我会像这样使用它,例如:
但是现在使用 log2(log_i = i+1 参数 = 3)来处理低级事件。那将如何在那里使用?我已经尝试了一点,但无法提出正确的解决方案......
在 Docs 的示例中,它非常简单,但我在将其放入此示例时遇到了真正的麻烦。
这是文档的链接:http: //solidity.readthedocs.io/en/develop/contracts.html#events
尤其是加上索引,以及 uint256 到 byte32 的转换,因为所有参数都必须在 byte32 中。希望我没有忽略什么...
谢谢!