我想编写一个Android Ethereum电子钱包,用于进行交易。但是,我无法完全弄清楚如何使用以太坊J连接到以太坊网络。
根据我所做的研究,许多人使用geth来启动节点,但是这对我来说不起作用,因为我想制作一个不支持该应用程序或无法弄清楚该如何做的android应用程序实施它。 当前,我正在尝试下面的代码,并试图使用一个轻型节点(因此在连接时没有完全同步)连接到以太坊网络:
private void connectToEthNetwork() {
SysPropConfig.props = new SystemProperties();
SysPropConfig.props.overrideParams("sync.enabled", "false");
Ethereum ethereum = EthereumFactory.createEthereum(SysPropConfig.class);
}
@Configuration
@NoAutoscan
public static class SysPropConfig {
static SystemProperties props;
@Bean
public SystemProperties systemProperties() {
return props;
}
}
我更喜欢不使用任何需要使用键的外部API的解决方案(例如Infura)。 希望大家能帮上忙,谢谢您的帮助!
答案 0 :(得分:0)
我通过使用go-ethereum android库解决了这个问题:
NodeConfig nc = Geth.newNodeConfig();
try {
Node node = Geth.newNode(getFilesDir() + "/.ethNode", nc);
node.start();
Thread.sleep(5000);
}
catch (Exception e){
// Do something
}
希望这对某人有帮助!