问题标签 [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.

0 投票
1 回答
674 浏览

javascript - 部署智能合约 web3 无效的 RPC 响应

我正在尝试在我的节点服务器上部署合同,如下所示:

我已经尝试了几件事并阅读了文档,但似乎找不到任何东西!我确定我不能是唯一遇到此问题的人,我使用的是 web3@0.20。

如果有人可以提供帮助,我将不胜感激。

0 投票
1 回答
507 浏览

solidity - 使用 web3 的智能合约中的持久事件状态

当在合同中触发事件(某事)时,页面控制台会按预期记录输出(通过 somethingEvent.watch()),但是当我重新加载页面时,它会在控制台中记录相同的输出。最近的事件是要持续存在还是我没有正确使用它?谢谢。

0 投票
1 回答
100 浏览

reactjs - 如何访问 web3 范围之外的功能?

我正在构建一个 react-web3 应用程序。

如何在 web3 方法中访问 this.setState 等超出范围的方法?

TypeError:无法读取未定义的属性“setState”

我可以使用过滤方法(web3.eth.filter())轻松做到这一点,但不能使用事件

0 投票
0 回答
212 浏览

python - 导入 web3 python 模块会导致 eth_utils/crypto.py 中的 assert keccak('')

导入web3python 模块会导致以下assertion错误。我正在使用python3(也尝试过python2)并已web3==4.0.0b6安装,也尝试过3.16.4eth_utils/crypto.py不开心。也许我安装了错误的版本python-sha3模块?

0 投票
1 回答
1389 浏览

ethereum - web3 balanceOf 总是 0

我正在尝试使用 web3 在我的智能合约上获取地址的余额,但余额始终为 0。在 Rinkeby 上使用元掩码,因为我的合约部署在 rinkeby 上。https://rinkeby.etherscan.io/address/0x8e3a88be716ce7c8119c36558ec97bc634592255

您可以通过将钱包放入 etherScan 的 balanceOf 函数来验证钱包是否有余额。使用地址 0x8b54A82a12bD5A7bA33B4842cA677E55f78a8612

这是我合约上的 getBalance 函数

网站实现在http://robinhoodcoin.net/metamask.html
代码https://github.com/robinhoodcoin/robinhoodcoin.github.io/blob/master/metamask.html

当我将提供者更改为以下内容时进行编辑:

我能够得到平衡。所以使用元掩码作为提供者是有好处的。

0 投票
0 回答
582 浏览

javascript - 使用“导入”和 Node.js 8.9.4 时出错

我正在尝试启动一个简单的节点项目,但在使用 import 关键字时遇到了问题。

我正在尝试从 0x.js 和 @0xproject/connect 包中的某些模块导入一些函数,但是当我尝试运行 main.js 时,出现以下错误:

当我从https://github.com/0xProject/connect-starter-project拉下项目并在内部运行它时,导入语句没有问题。但是如果我运行 npm init 来创建我自己的项目,将依赖项复制到我的 package.json,运行 npm install,然后运行 ​​node ./main.js,它会在第一行抛出。

0 投票
1 回答
2642 浏览

javascript - 我可以使用 PHP 从 ERC20 合约中转移代币吗?

我正在使用带有 Metamask 的 Web3 开发一个网站,用户可以通过将 ETH 发送到一个地址来购买代币。我想要做的是,在收到 ETH 后,它会使用后端代码自动将代币发送到用户的 ETH 地址。

实际的合约代码

除非帐户在 Metamask 上,否则无法发送

关于如何通过指定带有令牌的地址的私钥来通过后端发送令牌的任何提示?

谢谢你的帮助。

0 投票
0 回答
932 浏览

javascript - 带参数的以太坊 web3 回调

我正在通过 js 中的 web3 与我的 Solidity 合约进行交互,我具有以下功能:

如果用户想为以太币购买代币(这在solidity 中是一个非常数函数),则需要挖掘交易。所以函数 buyTokens(account) 调用函数 callWhenMined(txHash, callback) 每 500 毫秒检查一次交易是否被挖掘。当它确实被挖掘时,回调()将被调用,这会导致问题:回调()调用 getTokenBalance(),它需要两个参数(文档元素的 id 和帐号),因此回调函数将失败。但是如果我调用 callWhenMined(txHash, getTokenBalance('testID', 1)); 例如这样我会得到回调不是函数的错误。我确实明白这不会那样工作,因为 callback() 不接受参数。所以我的问题是:有没有办法让函数 callWhenMined 接受需要调用的函数的参数?像这样的东西?

那可能吗?

我希望有点清楚我的问题是什么以及我想要实现什么。提前致谢

0 投票
3 回答
2715 浏览

javascript - 获取 web3.eth.accounts (MetaMask) 的问题

我的 MetaMask 已启用,但在控制台中我在这里看到空数组图像,当我尝试时console.log(web3.eth.accounts[0]),它也会返回undefined

但是当我使用时console.log(web3.eth),我会在控制台中看到这里的所有数据图像

有人知道为什么web3.eth.accounts[0]web3.eth.accounts不起作用吗?

0 投票
2 回答
5779 浏览

javascript - 从 web3-1.0.0-beta.27 获取 Solidity 合约函数的返回值

我在跑步web3 1.0.0-beta.27,pragma solidity ^0.4.2;

我正在编译/调用它typescript

问题是myContract.methods.ping().send...没有按照我的意愿返回回调的值200,有没有办法解决这个问题?