问题标签 [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.
node.js - 如何从 Nodejs 文件中调用 Web3js 函数
我有以下工作的 web3js 代码,在按钮单击时调用 App.createContract() 在网页上效果很好,但是我想从另一个 Nodejs 控制器调用 App.createContract() 或类似代码。事实上,我正在考虑的是在 Node 中创建一个 API,它可以调用 web3js 函数并将 JSON 结果返回给调用者。你能帮我如何导入我的 web3js 文件并从节点控制器调用函数吗?谢谢
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("完成");
javascript - Ojbc调用js错误:找不到变量要求
我对 JS 完全陌生。我在 ios 上开发,我们需要在我们的程序中使用 Web3js。在obj-c中调用js函数就可以了。但是,我使用“require”来导入 Web3js 模块,它会抛出“ReferenceError:找不到变量:require”。怎么了?我错过了什么吗?有人可以帮忙吗??非常感谢。
更新:
如果'require'不可用,我如何使用obj-c调用的js中的其他模块?
这是我的代码。
obj-c 代码:
js:
node.js - 部署智能合约时获取“未定义”的无效参数数量
我正在尝试在 testRPC 上部署我的第一个投票合约,下面是我的代码。由于某种原因,当我开始部署时它会抱怨。
错误似乎来自 arguments 参数。我尝试传递一个空数组,它说“得到 0 预期 1!”。我试着只传递一个名字,它说“value.forEach”不是一个函数。
任何帮助将非常感激。谢谢你。
javascript - Solidity 事件使用 Javascript 记录到 HTML 表中
我有两个solidity事件
我从 javascript 调用它为
看着它喜欢
我总共有 3 个单独的合同,每个合同都有相同的事件,我在 JS 中将它们称为上述。
现在,问题是
1)如何将其加载到表中,因为方法不等待获取 JSON 响应,它会提供空表,因为我已经尝试过。
2) 我需要获取 JSON 响应 --> 从中获取一个值(index:value) --> 进行数据库操作 --> 然后将其显示在表中。
*数据库操作:获取结果值并在数据库中搜索相同并获取相关列详细信息并将其填充到表中。
3)event.allEvents() 方法对我不起作用与 geth 版本有关吗?
我使用GETH 1.4.11,请不要建议升级。
我尝试了用于填充数据但无法修改数据的动态表片段。
我尝试了 ajax,promise 但要么我用错了,要么它对我不起作用。
提前致谢
javascript - web3.js 调用传递函数返回 Solidity 函数的参数数量无效
我目前正在使用 web3.js 在表单提交上使用一个函数,即transfer(address _to, uint256 _value)
我可以调用合约函数,但我得到 Erro: Invalid number of arguments to Solidity function 试图使用传输函数,同时提供地址和令牌数量。
这是我的代码的一部分:
调用它(别担心,我的合约在合约 var 中正确调用
这是我得到错误的地方。这里的合约函数:
任何想法为什么我会收到此错误?我似乎在提供正确的元素。我根本不习惯 web3.js,我想我可以调用这个函数,就像我在当前合约上调用其他返回正确数据的函数一样,作为令牌和费率的平衡。
node.js - 如何使用 web3 将以太坊从一个钱包转移到另一个钱包?
我正在开发一个自定义 ETH 钱包,我可以使用 vanity eth 生成公钥/私钥。在收到此钱包中的金额后,我需要将 ETH 发送到我尝试使用 web3 的另一个钱包。我该怎么做呢?钱包目前只有很少的 ETH,但是当我尝试使用 web3 代码检查余额时,它显示零余额。那么如何使用 web3 代码将 ETH 从一个钱包转移到另一个钱包,请指教。
我获取钱包地址余额的代码如下。
ethereum - Rinkeby:“置换交易价格过低”
我一直在运行一个本地 Rinkeby 节点(为了使用 websocket 事件),它工作了一段时间,但突然我收到“返回错误:替换交易价格过低”。我发送的是平均汽油价格的 10 倍,但我仍然收到此错误。这是我的计算:
只有当我将 gas 价格提高到 (gwei * 2000) 时,我才能进行交易 (0.9 ether)。这导致我很快用完以太,使开发变得非常困难。
示例交易:
任何帮助都非常感谢!
Geth Rinkeby 命令:
javascript - 与表单一起使用时,字符串参数不会自动解析为 bytes32
我有一个看起来像这样的solidity函数-
当我使用 truffle 控制台调用该函数时,我可以使用 -
但是当我使用 web3 和具有相同数据的字符串格式的表单运行它时,它会给出错误-
错误:给定参数不是字节:“随机”
我想我在这里缺少一些基本的东西。请帮忙。
javascript - Web3 版本到处都不一样
我正在以这种方式从 metamask ectension 初始化 web3-
上面的 console.log 给出了 version 1.0.0-beta.22
,但是当我web3.version
在组件内的其他函数内部调用时-
这里console.log(web3.version)
给出version 0.20.2
我使用 npm 安装的 Web3 版本是 version 1.0.0-beta.22
。我猜 0.20.2 版本是由 metamask 以某种方式注入的。我想在1.0.0-beta.22
任何地方使用版本。我怎样才能做到这一点?