问题标签 [web3js]
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.
ethereum - 交易卡在“本地交易”中,状态为“队列中:未来” - Parity 以太坊节点
我正在寻求帮助,因为我已经像我的交易一样陷入困境,这些交易在 Parity TxQueueViewer 中显示为本地交易状态:
如下图所示为 tx: 0x0e97a4c
我正在使用 https://github.com/ethereumjs/ethereumjs-tx 设置 tx: 0x0e97a4c 并使用https://github.com/ethereum/web3.js/发送如下:
我知道节点正在同步和传播事务,这些事务随后被挖掘,因为事务设置并从 Parity UI 发送成功,如下图所示(如上图所示):
作为一些背景,我一直在使用 Solidity 和 Javascript 并利用 Truffle 和 Web3js 为以太坊开发一个项目。针对 TestRPC 进行测试。经过一番研究,我选择了 Parity 而不是 Geth,并使用 Ropsten 网络运行测试。
我有奇偶校验版本:
运行于:
我从以下内容开始平价:
- 状态“队列中:未来”是什么意思?
- Parity 是否有某种交易释放机制?
- 还是我没有为这种类型的节点正确设置事务?
node.js - 发送原始交易 Ethereum infura nodejs npm
我目前正在尝试实现与我的 Typescript/Node 项目的以太坊节点连接。
我正在连接到需要在本地签署交易的“Infura”节点服务器。好吧,无论如何。我正在使用 npm 包“ethereumjs-tx”签署我的交易,一切看起来都很棒。当我使用来自 web3 的“sendRawTransaction”时,我的响应是一个 tx-id,这意味着我的交易应该已经在区块链中。嗯……不是
我的标志交易功能如下。
“signTransactionLocally”中使用的函数:
运行我的代码如下所示:
因为 sendRawTransaction 导致控制台日志: [Node] transaction Done=>0xc1520ebfe0a225e6971e81953221c60ac1bfcd528e2cc17080b3f9b357003e34
一切都应该没问题。
有没有人有同样的问题?我希望有人能帮助我。祝你今天过得愉快!
javascript - 如何捕捉以太坊合约异常?
这是我的简单合同
当我将超过初始供应的代币转移到另一个帐户时,该函数transfer
应该引发异常。
我如何处理此异常并了解事务无法完成。我正在使用 web3j 并调用函数传输,例如
node.js - npm install web3 到 Appcelerator Titanium SDK > 6.x
我想安装web3
到我的移动应用程序项目中。
但是,我在访问它时遇到问题,而没有大量红屏说我无法访问其中的这些文件。我试图手动更新路径等;
我所做的是在我的 App 文件夹中:npm install web3
然后我node_modules
在我的 App 目录中看到该文件夹......但是,我无法在 index.js 文件中使用简单的模块:
现在我已经将文件夹从 App 文件夹粘贴node_modules
到lib
我在 App 文件夹下创建的文件夹中,并尝试访问其中的dist
访问权限web3.min
,然后尝试了很多其他的事情,但没有运气......还有其他人有这样的问题吗?一个解法?
ethereum - 部分交易同时通过联系人
我同时通过联系人发送一些交易。但是块执行其中一个,因为两个事务具有相同的随机数(我从 getTransactionCount 获得)。我该如何解决?
每次创建交易时,我都会使用此代码:
node.js - 调用合约方法并手动签名时出错。SendTransaction 有效 SendRawTransaction 无效
再会,
我正在编写一个节点 api 来公开我的区块链上的方法(使用松露进行部署和测试)。我使用 web3.js、ethereumjs-tx、ethereum、truffle 和solidity 作为我的技术栈。
交易参数为:
我正在使用 ethereumjs-tx
使用链接到我的 mainAccount 的私钥签署交易
我得到了 gas * price + value 资金不足的错误。我从 mainAccount(来自 txParams 的 from: 字段)发送此交易。所以我在我的 mainAccount 上记录了余额
结果是 252.12609391539726。所以不能没有资金。我什至估计了 web3.eth.estimateGas(txParams) 交易,它给了我 97899。当前 ropstein 区块的气体限制是 4,707,806。所以我应该有足够的。所以问题仍然是为什么我得到的资金不足。
我怀疑的唯一原因是 from: 字段,即我的 mainAccount 实际上不是交易的付款人。
更新: 问题可能出在签名上,因为我刚刚测试过
它起作用了,所以问题实际上是为什么 sendRawTransaction 不起作用。可能与我签署交易的方式有关吗?
我检查了
其实和我的mainAccount有关。private_key_inserted_here 取自“密文”字段中与我的主帐户相关的密钥库。我通过匹配密钥库的“地址”字段来检查与我的 mainAccount 相关的内容。
提前致谢。
ethereum - 无法在已部署的合约中调用函数
我正在尝试让已部署的 HelloWorld 合同在节点应用程序中运行。我想像这样运行该call()
函数来检查它:
以下是供参考的合同:
当我尝试console.log(contract.displayMessage.call())
回调时,它返回:TypeError: Cannot read property 'call' of undefined
,但是,当我登录它时,console.log(contract.displayMessage)
它返回:
我在这里做错了什么?如何call
在已部署的合约中运行该功能?
javascript - 以太坊 Web3.js 返回“找不到模块‘web3-requestManager’”
我正在尝试在 macosx 上开始使用带有节点 6.11.1 的 Ethereum Web3.js
我使用以下命令安装了 web3:
npm 安装 web3
然后我启动这个 - 显然 - 简单的节点命令:
Web3 = 要求('web3');
好吧,它返回以下错误:
看起来它需要一些未随包一起安装的模块(例如“web3-requestManager”)。
这是我的 package.json
任何想法?难道我做错了什么?
ethereum - 处理事务时出现 VM 异常:气体不足
我正在使用 testrpc、web3 1.0 和solidity 来构建一个简单的Dapp,但是我总是遇到这个错误,我找不到问题所在。请帮忙。
我的 javascript 文件:
我的合同文件:
另外,我正在使用以下命令启动 testrpc:
testrpc --account="0xce2ddf7d4509856c2b7256d002c004db6e34eeb19b37cee04f7b493d2b89306d, 2000000000000000000000000000000"
任何帮助,将不胜感激。