问题标签 [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.
blockchain - 动态调用外部合约
我正在尝试使合同具有能够调用另一个合同的功能的功能。我的目标的关键部分是,如果没有任何 import 语句,合约应该无法部署,并且默认情况下不会知道合约的名称。换言之,该合约的用户将输入被调用的合约数据(即地址、名称)作为参数。实现这一目标的最佳方法是什么?
ethereum - Solidity 函数不返回预期数据
我有以下功能的合同:
跑步
返回:
这里有什么问题?我在合同中的所有功能都会发生这种情况。
谢谢!
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 调用已部署的合约呢?
unit-testing - 单元测试日期时间值
我有一个利用当前时间(now
)的函数。合约作为一个整体是众筹代币,代币的成本因购买代币的日期和时间而异。
在测试智能合约时如何模拟不同的时间?例如,对于下面的代码,我想做单元测试,看看设置价格的代码是否正确,但我无法更改now
.
now
简单地将关键字替换为另一个临时测试变量,例如now_sim
然后now_sim
在模拟期间手动更改,这是一个很好的解决方案吗?
blockchain - 如何将代币从合约转移到 EtherDelta
我正在尝试使用合约从 EtherDelta 交易所存入、交易/订购和提取代币和以太币。我的理解是,最好的方法是创建一个 ether delta 函数的接口,并在我的合约中创建一个真正的 EtherDelta 实例。然而,我正在处理的问题是,假设我将代币从合约中存入 EtherDelta,我相信 EtherDelta 会注意到 msg.sender 作为这些代币的所有者。即使是在我的合约上调用 depositToEtherDelta 函数的用户,我如何才能让合约成为所有者?我试图让合同成为所有者,而不是调用合同功能的人。请帮忙,谢谢。
solidity - Solidity-Type 地址不可转换为 uint256 类型
我创建了一个结构数组,然后尝试获取数组中每个帐户的值。msg.sender
但是我在传递包含并且类型不能明显转换为的地址变量时使用数组失败了uint256
。我该怎么做?
javascript - 如何使用 truffle 控制台中的 testrpc `evm_increaseTime` 参数?
我正在用 truffle 和 testrpc 创建智能合约。在编写单元测试时,我希望更改块时间以模拟可能调用智能合约的不同时间。如何evm_increaseTime
在松露控制台内设置一套?
javascript - Solidity - 使用 webpack 应用程序时 EVM 无效的 JUMP
我正在创建一个基于 Truffle + Webpack 的前端应用程序,遵循以下教程:http://truffleframework.com/tutorials/building-testing-frontend-app-truffle-3 ,并且根本不了解 JavaScript。
代码在 truffle 控制台上运行,应用程序在全局范围内运行,除了函数“append_buy_brent”,将一个新元素添加到一个名为 buy_orderbook_brent 的结构数组中
坚固性:
JavaScript:
日志 :
错误:处理事务时出现 VM 异常:d8abbe98e23bfa2cd66729f537c8dd23bb72c25425af350243627a30533c3b73/a8c9aca1a9b5fd638a6aa025545e1274787f3456:790 处的无效跳转
我希望我提供了足够的信息,第一次来这里。非常感谢。
ethereum - 自毁后智能合约中的以太币会发生什么
调用selfdestruct
智能合约时,合约内部的以太币会发生什么?
ethereum - Solidity:更改已发布的智能合约中变量的值
我正在尝试更改区块链中合同中变量的值。我已经扣除了它的代码,是这样的:
假设我有正确的库函数签名,我要做的是更改“variableToBeChanged”的值,以便执行 if 中的代码。可能有一种方法可以使用具有正确名称的函数创建一个库,并以某种方式插入汇编代码来更改变量的值。但这就像用原子弹杀死一只蚂蚁。我正在寻找更简单的方法来做到这一点。我也知道这份合同不安全,我试图了解这是否可能,并且我想了解这对一份合同来说有多大风险。