问题标签 [ganache]

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 投票
0 回答
150 浏览

javascript - 通过脚本与 ganache-cli fork 交互

我如何将其指定为本地分叉的 ganache 链?

试过这个:

...

显示以下错误:

/Users/GreyShadow/node_modules/@ethersproject/logger/lib/index.js:179 var error = new Error(message); ^

错误:不支持 getDefaultProvider 网络(操作=“getDefaultProvider”,网络={“chainId”:1337,“名称”:“未知”},代码=NETWORK_ERROR,版本=提供者/5.0.17)

非常感谢帮助

0 投票
1 回答
76 浏览

flutter - 如何设置不同的以太坊账户凭证在智能合约中进行交易?对于基于区块链的投票系统

我正在使用以太坊区块链和使用Ganache实现智能投票系统。根据该系统,选举机构将通过使用他们在区块链中的公共地址来授权人们。然后只有他们才能投票。

但问题是,根据我的代码,每笔投票交易都是由一个区块链账户完成的,因为它总是获得从相同私钥派生的相同凭证。

我想要做的是,对于每个授权选民,我希望应用程序将凭证更改为该特定选民的区块链帐户凭证。因此投票交易将由相关的特定账户完成。有没有办法检索每个人的凭据。或者更改每个登录帐户的凭据?我正在努力做到这一点。

这是一个颤振的应用程序。

这是我的代码,我在其中设置交易凭据。

有人可以帮我解决这个问题吗?:(

0 投票
1 回答
465 浏览

limit - 从图形界面增加 Ganach 气体限制

我正在为 Ganache 苦苦挣扎,我想运行一些大型测试,但它说:
“X 用完了气体。构造函数中的某些东西(例如:无限循环)导致气体估计失败。试试:

  • 让你的合约构造器更高效
  • 在您的配置中手动设置气体或作为部署参数
  • 在“truffle-config.js”中使用 solc 优化器设置
  • 如果您在专用网络或测试客户端(如 ganache)上,请设置更高的网络阻止限制。”

我已经在我的文件 truffle-config.js 中增加了最大气体限制,但这还不够,因为限制为 6721975。
我看到有些人在谈论 $ganache -cli -l 30000000 但我在命令行中没有 ganache。
我的问题是:如何更改此值? 在此处输入图像描述

0 投票
2 回答
351 浏览

ethereum - Solidity 智能合约部署期间的错误:未捕获的错误:已调用回调

未捕获的错误:已调用回调。在 /home/blockchain/master/node_modules/merkle-patricia-tree/node_modules/async/lib/async.js:43:36 在 WriteStream。(node_modules/merkle-patricia-tree/node_modules/async/lib/async.js:358:17) 在 WriteStream.destroy (node_modules/level-ws/level-ws.js:140:8) 在完成(内部/流/writable.js:670:14) 在 processTicksAndRejections (internal/process/task_queues.js:80:21) 在 runNextTicks (internal/process/task_queues.js:62:3) 在 processImmediate (internal/timers.js:434: 9)

0 投票
0 回答
148 浏览

javascript - 合约部署后 Ganache 不更新账户余额

我与 Ganache 和 nodeJS 一起工作。每当我努力使用 JavaScript 部署我的合约时,都会挖掘相关块,这表明给定的合约已部署,但发送者帐户(或部署者帐户)的余额不会更新。我可以看到有什么问题。

JavaScript 代码:

0 投票
0 回答
150 浏览

ethereum - 无法使用转移或发送稳固性

我用甘纳许,松露。

我收到以下错误:

我找到了有问题的代码:

现在,我通过用户交互获取价格,当价格为 0 时,不会抛出错误,不幸的是,在 _price 不为零的经典情况下,抛出异常。

有什么建议么?

0 投票
1 回答
848 浏览

javascript - Solidity 和 React:不能将 method.call() 用于合约中的视图函数

我试图使用 react 作为我的前端和solidity 作为我的后端来制作一个待办事项列表。我用 Truffle 和 Ganache 来测试它。我成功设置了私有区块链并从 Ganache 导入了多个帐户。但是,每当我在我的反应应用程序中使用 method.call() 时,它都会引发以下错误:

我不知道我做错了什么。我检查了 abi 和合约地址,但它们似乎都是正确的。谁能告诉我导致错误的原因以及如何解决?这是我的可靠性和反应代码:

坚固性(合约):

反应(app.js):

松露-config.js:

当我在反应中调用 getList 函数时出现错误...“const list = await TodolistContract.methods.getList().call();”

0 投票
0 回答
208 浏览

unit-testing - 松露测试似乎在“成功”之前没有完成,并且不等待已发送 tx 的 transactionHash

从昨晚开始我就一直在努力解决一个快速的问题,

我的 truffle (v5.2.3) 测试文件执行两 (2) 个测试,call()然后依次实际发送交易以对我的智能合约的存储进行持久更改。这些测试如下(抱歉转储文件,我已尽可能地最小化):

第一个测试调用,然后发送一个事务就好了!在我每次truffle test运行时,我都会在控制台中得到很好的预期日志结果:

现在它继续进行第二次测试,由于某种原因,即使调用成功,它也不会发送交易

断言成功了,我的合约调用返回的结果被记录下来,我们甚至达到了BELOW的沮丧点what the hell,但我从来没有像第一次测试的发送交易那样得到 TxHash !sendTransactionit()

更奇怪的是,如果我添加第三个it()测试,它会按预期工作:it("return false", () => { assert(0==1); });从我的测试块中取消注释,你瞧:

从昨天开始,我一直在为此脱发,我闻到了某种并发/时间问题。有什么方法可以控制发送交易的顺序,或者在继续测试之前等待提交和挖掘交易?
奇怪的打印序列console.log()例如,在测试 2 实际打印出 txHash 和事件数据之前第三次测试失败)可能指向类似的东西,但我认为该result.on()块将确保我们正在等待 tx开采!

0 投票
1 回答
2020 浏览

blockchain - 如何在solidity 0.5.0中将etherenum发送到msg.sender

address(_seller).transfer(msg.value)效果很好。但是msg.sender.transfer(msg.value)address(_buyer).transfer(msg.value)不起作用。

请帮我解决这个问题。

0 投票
1 回答
137 浏览

react-native - 如何将 Expo 连接到 Ganache

我正在尝试使用 ethers.js 将我的 Typescript Expo 应用程序连接到本地 Ganache 节点。目前我的代码如下所示:

公共地址显示正确,但是当我尝试获取一些链上数据(如 Gas Price)时,我收到“NO-NETWORK”错误。我想我的 expo 客户端无法连接到 Ganache 节点,因为 url 以及本机和 Web 应用程序使用不同的主机表示法(localhost vs 192.168.1.1)的事实,但我不确定我到底需要更改什么让这件事发挥作用。