问题标签 [web3-java]
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.
java - 试图与 web3j (Android) 取得平衡,得到空指针异常
努力让任何东西在android上的web3j中工作,尝试这个例子(我已经替换了token和addr)我使用的地址确实有一些rinkeby ETH。在手机上测试,当我加载这个类/活动时应用程序崩溃,代码在 oncreate 方法中。在清单中打开互联网权限,并在 build gradle 中编译 android web3j。
错误
错误引用的第 43 行是我提交的代码中的最后一行代码。当我注释掉该行应用程序时,它不会崩溃并且只会收到一些(我假设是全部)警告。
java - 使用 Web3j 的 Quorum 客户端发送公共事务
如何使用 Web3j 的仲裁客户端发送公共交易?
目前我正在使用此代码发送私人交易,即使我的“privyFor”列表为空,它也会作为私人交易发送。
java - 尝试使用 web3j 部署以太坊智能合约时出错
我正在尝试使用 web3j 和 Ganache 在 java 中部署智能合约。在为我的合同创建 java 包装器之后,我用来部署合同的代码是:
但我收到以下错误:
我也尝试部署另一个合约,但错误输出是一样的。我做错什么了吗?
谢谢你。
smartcontracts - web3j 处理交易请求时出错:gas * price + value 资金不足
按照本教程 https://github.com/web3j/web3j
将geth
客户端作为专用网络启动。这是合约代码
编译合约并生成合约的包装代码。生成了 Java 代码Counter.sol
,然后我尝试部署合约
获取异常
然后我使用以太坊钱包部署了合约,因为它为我们估算了 gas 限制和 gas 价格。它估计
所以我改变了这样的代码
但例外仍然相同。请指导我如何解决此异常以及如何估算合同的汽油价格和汽油限制。
java - Web3j Android java Solidity 包装器错误
尝试使用 web3j 调用合约中的某些函数。我遵循了 Solidity 指南并获得了这份合同的 .abi 和 .bin - https://etherscan.io/address/0x9dda40dabd849bbb087dcbcf0c5223ec5ffa0ad7#code。然后使用 web3j 命令行制作 .java 文件包装器,输出到正确的目录。
一切正常,但以下几行:
抛出错误:
而这两行:
给出错误:TypeReference 中的 TypeReference() 不能应用于 (boolean)
我不是合约的创建者,但它在 web3js 和 metamask 实现中确实可以正常工作。我在想一件事,因为这些事件是针对服务器端的,我什至需要包括它们吗?(尽管您可以看到它们稍后会被引用)但我只是想知道 .bin 文件的使用是否会迫使您不进行更改?无论如何,这是新的,所以任何帮助或指示表示赞赏,谢谢。
android - Web3J - 创建轻钱包的时间太长
我正在使用 Web3j 库在我的 Android 应用程序中创建钱包:https ://web3j.io/
见代码:
它正在正确创建钱包,问题是该过程需要很长时间,大约 10 分钟。
难道我做错了什么?
有没有其他方法可以让它更快?
java - 如何通过交易调用以太坊智能合约方法?
我可以使用Java
和在以太坊中进行交易Web3j
。
现在我希望能够与smart contract
. 但是由于我在构建时遇到问题wrapper
,我想知道我是否可以通过在事务中发送数据来做到这一点。如果是这样,它是如何完成的?
android - 是否可以在 web3j 中对消息(字符串)进行签名/加密,然后使用公钥(地址)解密消息
试图找出解决这个问题的最佳方法。在 web3j/ethereum 应用程序上工作,我需要一种方法来验证地址是否由服务器生成并由应用程序用户使用。我的方法思路:
- 使用以太坊私钥签名/加密消息
- 向服务器发送加密消息(例如“abc”)和以太坊地址
- 服务器使用发送的以太坊地址解密消息
- 检查消息是否与“abc”相同,如果是,则验证地址
这在 web3j 或 web3js 中是否可行(可用于服务器端)。还是有更好的方法?
java - Web3j java函数调用返回solidity合约的空列表
我正在尝试getPrice
从此solidity合约中调用该函数
我正在使用 以调试模式运行私有区块链客户端geth
,并部署了一个带有值的合同。以下是我如何尝试调用部署的唯一合约的函数:
这里types
有 0 个元素。我究竟做错了什么?
编辑:
缺少的是合约地址不是交易哈希。合约地址是这样检索的:
然后正如响应中所指出的,可以使用合约包装器调用调用,或者使用前面描述的方法,将合约地址而不是交易哈希作为参数传递。