问题标签 [web3]
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.
python-3.x - 无法在测试网上使用 Parity 和 Web3 解锁帐户
我正在为 Debian (Jessie) 上的测试网 (Ropsten) 运行本地 Parity 节点。我正在使用 web3.py 连接到该节点并创建事务。
我创建了一个新帐户:
我正在使用以下选项运行我的奇偶校验节点
当我测试这个节点时,它运行良好,请参见以下 python shell:
但是,当我尝试解锁我的帐户时,它会返回 False(当然还有正确的帐户哈希和密码)
当我检查它是否真的在我的帐户列表中时,我得到以下空数组:
但是,当我检查奇偶校验时:
它列出了 3 个帐户。为什么它没有显示在 listAccounts 中?我必须以某种方式使该帐户可用吗?
任何想法将不胜感激。
blockchain - web3j 中凭证的钱包路径是什么?
我正在使用自述指南https://github.com/web3j/web3j。
我感兴趣的是使用 Java + Web3j 从我的主机开发智能合约到在我的虚拟机上运行的私有以太坊网络。
有这样的行:
所以问题是:
我应该如何创建这个钱包?我应该在我的虚拟机上生成帐户,然后将wallet.json
文件复制到我的主机吗?
javascript - 使用元掩码时检测 web3 默认帐户的更好模式
上下文:我想使用 blockies 在页面上呈现一个身份图标,我从 web3 获取 defaultAccount,为此,用户必须使用钱包中选择的地址登录到 metamask。
问题:web 应用程序似乎没有在页面的加载事件上检测到 web3 对象,建议在 wchih 进行检测。
代码:下面的灵感来自以下建议:
https://github.com/MetaMask/metamask-plugin/issues/1158
我一直有间歇性行为,有时 web3 存在,有时不存在,我能想到的唯一解决方案是有一个计时器,但这在我看来有点过于简单,我更喜欢更优雅的东西。
问题:是否有更好的解决方案来在页面加载时从 web3 中检测 defaultAccount?
node.js - web3 npm 安装失败
我似乎在努力让 npm 安装 web3
使用的命令:
npm 安装 web3
错误:
npm 错误!路径必须是字符串。收到未定义
日志:
我也试过用 root 用户运行它们。任何帮助表示赞赏。
谢谢
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 相关的内容。
提前致谢。
javascript - 如何使用 JS 向以太坊发送大量交易
我正在尝试使用一个用 js 编写的程序向以太坊发送大量交易。我使用 NodeJS、web3 和 infura ropsten。问题是:如果我一次发送交易,大部分交易就会消失。为了解决这个问题,我发送了有间隔的交易。它有效,但非常缓慢。我花了大约一个小时只发送 100 笔交易。有什么解决方案可以让它更快更正确地工作吗?我正在考虑在前一个开始挂起之后发送交易,但我不知道该怎么做。函数 sendRaw 仅在一段时间后获取交易编号。该代码读取文件,获取地址、金额和可选数据,并使用智能合约的方法转移代币。这是代码:
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("完成");
node.js - 部署智能合约时获取“未定义”的无效参数数量
我正在尝试在 testRPC 上部署我的第一个投票合约,下面是我的代码。由于某种原因,当我开始部署时它会抱怨。
错误似乎来自 arguments 参数。我尝试传递一个空数组,它说“得到 0 预期 1!”。我试着只传递一个名字,它说“value.forEach”不是一个函数。
任何帮助将非常感激。谢谢你。
node.js - 无法使用 nodejs 安装 web3
我正在尝试使用 npm 安装 web3.js,但失败并出现以下错误。错误消息很长,我在这里分享了前几行。
请让我知道这里可能是什么问题。