问题标签 [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 回答
479 浏览

javascript - 关于我使用本地 RPC、Web3 和 Remix 的第一份合同的一些问题

我是新手,我为 POC 创建了我的第一个智能合约。这个想法是模拟一个预订过程,客人支付初始押金(unlockDoor 方法),当他离开房间时,他将根据使用时间获得退款。

我将事件连接到我的树莓派,以便打开相关房间的灯。

它适用于 javascript 虚拟机,但使用本地 RPC 我有一些问题,我不明白为什么。

  1. 使用 html 页面中的简单按钮,unlockDoor 和 lockDoor 方法不会打开元掩码弹出窗口以接受交易。控制台内没有错误。
  2. 将 remix 与本地 RPC 一起使用:解锁门有效,锁门生成错误错误:执行事务时 VM 异常:气体不足。很多文章说要增加gas值,但它不起作用。可能我错过了什么。我不明白什么。使用 javascript 虚拟机所有方法都可以正常工作。
  3. 使用 RPC(和测试网),lock 方法中的双重传输可能会产生一些奇怪的东西。这些双重操作正确吗?我必须以其他方式管理它们吗?
  4. 基于第 2 点和第 3 点:对如何使用“应付”指令产生了混淆。

Index.html 的 javascript

合同。注意:成本是每秒仅用于测试pourpose

0 投票
0 回答
268 浏览

javascript - 关于通过 web3 转移以太坊代币的问题

我正在尝试实现令牌转移,我在第一次测试时做到了。

它能够签入https://etherscan.io/tx/0x91ed7e481e0cced5600bb91498017a9ec02064710395363f57f2aa8c0a480b44

但我收到错误消息,例如“交易未在 50 个区块内开采,请确保您的交易已正确发送。请注意,它可能仍被开采!

让我知道是什么问题。

这是简单的代码,但它在第一时间被唤醒。我能够了解。请帮帮我

0 投票
1 回答
282 浏览

javascript - Solidity 函数修改值失败

使用 Truffle 开发框架(web3、react 和solidity)来测试一个简单的智能合约。当我按下 UI 上的按钮时,我正在测试一个基本功能,但它似乎没有按我预期的方式工作。我希望合同能够增加价值并返回 true。请注意,该值稍后会显示在前端,因为这是我正在玩的。代码如下:

Solidity 合约

应用程序.js

为澄清起见,当单击 HTML 按钮时调用 modiftyTotal。控制台语句返回值“false”,实际总值似乎永远不会改变。有任何想法吗?

0 投票
2 回答
2105 浏览

javascript - 使用 web3 传输自定义 ERC20 令牌(无效地址错误)

我正在使用 web3 库版本 0.20.2。我想用我的智能合约做的只是转移自定义的 erc20 代币。

下面的智能合约代码(sloidity)

我想使用此功能将我的自定义令牌转移到 _to(地址)。

这是我的控制台。

我不知道怎么了,我错过了什么吗?请让我知道如何解决此“无效地址”错误。谢谢!

0 投票
1 回答
60 浏览

javascript - 适当的 node.js 抽象以防止访问以太坊区块链时出现竞争条件

我正在使用 web3 版本1.0.0-beta.27,其中对区块链的所有访问都是异步的,显然这开启了竞争条件的可能性,即:

上面的最后一行是人为的,它在那里证明我想accounts在评估后使用它。即,最终我想从前端express.jsWeb 应用程序甚至移动应用程序修改/读取区块链,所以为了严谨起见,node.js确保竞争条件永远不会发生的常用工具是什么?这些工具存在吗?如果不是什么是一些常见的做法。我node.js也是新手。

0 投票
1 回答
3716 浏览

ethereum - web3.toAscii 不是函数

我正在尝试Bytes32使用 web3.toAscii 将数据转换为以太坊(智能合约)中的字符串。但是,它给我一个错误(web3.toAscii 不是一个函数)。只是想知道这是一个已知问题还是 web3 API 中的错误?

0 投票
2 回答
3271 浏览

node.js - web3.eth.subscribe 未针对 web3 版本 1.0.0-beta.27 实现

我使用的是 web3 版本1.0.0-beta.27,并且我正在运行一个私有以太坊区块链以进行测试。区块链正在挖矿并且有两个用户,现在我想subscribe在区块链中进行事件并执行一些操作。代码如下:

我得到类似的东西:

从某种意义上说,这并不奇怪,因为当我web3.eth.subscribenode.js控制台上这样做时,我得到:

即使web3-1.0.0声明该功能的文档也可以使用:https ://web3js.readthedocs.io/en/1.0/web3-eth-subscribe.html 。

  1. 那么这仅仅是文档与实际实现不同步的问题吗?我用错了吗?

  2. 如果没有实现,那么在链中监听变化的最佳方式是什么?例如,如果我想实时更新用户的账户余额?除了一个简单的实现功能之外,它每隔n几分之一秒就对链进行 ping 操作。

0 投票
5 回答
24026 浏览

javascript - 使用 web3 发送 ERC20 令牌

我目前正在使用 0.2xx 版本的 Web3 Javascript API。我通过在 Solidity 中创建智能合约(在 REMIX IDE 上)部署了我的自定义 ERC20 代币。我安装了 MetaMask 并在https://wallet.ethereum.org/上进行了测试,以将一些自定义 ERC 令牌发送到我的另一个帐户。它运作良好。我想使用 Web3 在我的 javascript 代码中添加“发送自定义 ERC20 令牌”功能。

下面是我的代码。

我正在开发“Ropsten 测试网”,并使用sendRawTransaction(). 但我想做的只是发送我的自定义 ERC20 令牌。不是以太。如何在此脚本中发送我自己的令牌?我不知道。我试着sendTransaction()像下面这样使用。

我不断收到错误。

我真的无法理解它有什么问题。请让我知道一些处理这个问题的方法。谢谢!

0 投票
5 回答
3799 浏览

python - 如何修复 web3 模块 AttributeError?

我正在尝试在 python 中使用 web3。

我正在尝试按照http://web3py.readthedocs.io/en/stable/web3.eth.html#web3.eth.Eth中的步骤进行操作

但是得到了AttributeError: module 'web3.eth' has no attribute 'getBlock'

我在 python 3 和 python 2.7 中都试过,得到了相同的结果。

有什么建议吗?

谢谢

0 投票
1 回答
5365 浏览

javascript - 未处理的拒绝错误:无效的 JSON RPC 响应:“”

我正在尝试在我的 ERC20 代币合约上调用一个方法。我正在连接到“ https://rinkeby.infura.io/”httpProvider。我可以call()常量方法,但是当我想通过调用send()函数来更改合约的状态时,我得到了这个提到的错误。如果您认为发布 ABI JSON 或 Solidity 合同有帮助,我也可以提供。我认为我的问题纯粹是web3相关的。我认为我需要(逻辑上)签署交易,但 web3 文档没有提及任何内容。http://web3js.readthedocs.io/en/1.0/web3-eth-contract.html#methods-mymethod-send

这是我得到的错误:

从调用此方法:

这是该方法的 ABI 片段: