问题标签 [truffle]

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 回答
533 浏览

node.js - 尝试迁移时,Truffle (nodeJS) 在两个错误之间摇摆不定?

我在 Node.js 项目中使用 truffle,当我尝试迁移项目时,出现以下错误: Windows Script Host

但是,当我使用建议的修复程序时,即将 truffle.js 文件重命名为 truffle.js 以外的其他内容(即 truffle-config.js),然后我得到一个不同的错误:

当我将配置文件重命名为“truffle.js”时,我再次遇到第一个错误。我尝试过的解决方案包括使用 Windows Powershell 运行程序和运行命令npm install --force -g truffle,但都没有奏效。我研究了推荐的解决方案(https://github.com/trufflesuite/truffle/issues/150),到目前为止,没有一个推荐的解决方案有效。

0 投票
2 回答
144 浏览

truffle - 运行 zeppelin-solidity 演示显示未定义的返回消息

我正在按照本文中的步骤研究部署智能合约。

我使用绝对路径而不是相对路径进行导入,因为编译器无法查看 node_modules 中的导入文件,因此它可以编译

truffle migrate 看起来不错,因为当我输入时JCoinCrowdsale.deployed()它返回完整信息(我在这个例子中命名为 JCoin)

但是当我输入时JCoinCrowdsale.deployed().then(inst => { crowdsale = inst }),它返回 undefined

在此处输入图像描述

对此有任何线索吗?

0 投票
1 回答
1235 浏览

ethereum - 了解迁移脚本

假设我使用迁移脚本 2_deploy_contract.js 成功部署了contract.sol。后来合同有变化,我该怎么办?

  1. contract.sol 和重新运行 truffle 的更改会迁移吗?
  2. 不修改contract.sol,而是克隆新文件contract2.sol和3_deploy_contract2.js并运行迁移?
0 投票
1 回答
1786 浏览

ethereum - tx 没有正确的随机数。帐户的随机数为:5 tx 的随机数为:15

使用 truffle (3.4.6)、metamask (3.9.2) 和 testrpc (4.0.1),我调用了一个事务并得到“错误:tx 没有正确的随机数。帐户的随机数为:5 tx 有随机数的:15"。我已经将我的合同方法的主体缩减为一些微不足道的东西,但我仍然得到了这个。知道是什么原因造成的吗?

我这样调用方法(使用松露):

0 投票
3 回答
9934 浏览

node.js - TestRPC/Ganache:tx 没有正确的随机数

我最近一直在尝试松露并遵循以下教程:http ://truffleframework.com/tutorials/pet-shop

每当我尝试设置交易时,我都会在下面收到相同的错误

错误:错误:tx 没有正确的随机数。帐户的随机数为:14 tx 的随机数为:0

在网上查了很多与此相关的文章,但到目前为止还没有找到可能导致此问题的原因。

  • 松露 v3.4.7
  • 坚固性 v0.4.13
  • npm v5.3.0
  • TestRPC v4.0.1(Ganache 也会发生)
  • 元掩码 v3.9.5

据我了解,似乎无法找到以前的交易来散列新交易?

0 投票
1 回答
504 浏览

ethereum - 松露迁移失败,但仅在主网络上。

我正在尝试将合约部署到我成功部署到 test-rpc 和使用 geth --dev 标志的测试网络的主网络(“1”)。

这是我的 truffle.js 文件的外观:

我跑:

…当我运行 truffle migrate…</p>

我已经尝试了各种不同的方法来解决这个问题,但到目前为止无济于事。有人有什么想法吗?

只需检查几件事: - 帐户已解锁。- 该帐户已获得资金,尽管不是以 Scrooge McDuck 方式:https ://etherscan.io/address/0x3984bc76cb775d7866d1cd55c4f49e3d13d411d4

0 投票
5 回答
9668 浏览

ethereum - 为松露设置气体

truffle migrate在主要运行。也使用geth。我最初在 truffle.js 中将 gas price 和 gas 留空,但现在看起来像这样:

我似乎有一种情况,我要么有太多的气体,要么没有足够的气体,没有合适数量的可能性。

...或者...

当我web3.eth.getBlock("latest")在控制台中运行时,我得到gasLimit: 5000. 当我将 gas 设置为 5000 时,我收到资金不足的消息。当我将其设置为 5001 时,我得到“超过块气体限制”。

所以,这一切似乎都在告诉我,gasLimit 应该设置为 5000 或低于 5000,但在这种情况下,我没有足够的资金来运行交易。让我们来看看...

我有:

gas: 5000, gasPrice: 22000000000 // 在 Wei 中指定

5000 * 22000000000 = 1.1 * 10^14 = 110,000,000,000,000 Wei 1.1 * 10^14 / 10 ^ 18(1 Ether 中的 Wei 数量)= 1.1*10^-4 ETH

这是我正在使用的帐户:https ://etherscan.io/address/0x3984bc76cb775d7866d1cd55c4f49e3d13d411d4 。如您所见,它有资金。准确地说,在撰写本文时为 0.01738465 以太币。

0 投票
1 回答
1510 浏览

node.js - 如何从 Nodejs 文件中调用 Web3js 函数

我有以下工作的 web3js 代码,在按钮单击时调用 App.createContract() 在网页上效果很好,但是我想从另一个 Nodejs 控制器调用 App.createContract() 或类似代码。事实上,我正在考虑的是在 Node 中创建一个 API,它可以调用 web3js 函数并将 JSON 结果返回给调用者。你能帮我如何导入我的 web3js 文件并从节点控制器调用函数吗?谢谢

0 投票
1 回答
973 浏览

ethereum - 使用 web3 部署智能合约时不支持同步请求

我正在尝试使用 Web3、Truffle 和 Testrpc 在本地部署智能合约。我使用 Truffle 编译了一个智能合约,并使用以下代码来提取 ABI 和字节码。在同一个脚本中,我正在尝试使用 web3.eth.contract.deploy 部署合同(在本文档中给出:https ://web3js.readthedocs.io/en/1.0/web3-eth-contract.html#deploy ) 但一直收到此错误:

我应该怎么做才能解决这个问题?

这是供参考的脚本:

console.log("完成");

0 投票
1 回答
361 浏览

ethereum - 为每笔交易创建新的合约地址是一种好习惯吗?

当有新数据并执行交易时创建新的合约地址是一种好习惯,还是在具有映射变量并且可以将数据添加到其中的单个合约实例地址上创建。无论哪种情况,哪个是数据检索的好选择?

例如 - 我见过 web3js,他们在区块链上创建了一个新的合约实例,并将数据存储在其变量中,然后根据合约地址获取数据。所以它就像创建多个对象来存储单个记录,尽管一个合约实例可以存储多个。另一方面,web3js 代码只创建了一个合约实例并将数据存储在映射变量中。