我正在构建一个Android应用程序,用户可以用以太购买他们购买的商品。应用程序将使用私有以太网网络。
据我了解,我必须在Android设备中运行一个以太坊节点作为一个单独的进程,我的Android应用程序必须使用发送命令或通过JSON RPC与它通信。
由于android非常关注功耗,android会不会连续运行一个单独的进程? android会在一段时间后杀死进程吗?
此外,在设备中连续运行节点会导致大量电池耗尽吗?
答案 0 :(得分:0)
是的,它会的。你有基本的两个选项,创建一个集中的服务器/客户端设置,你的Android应用程序对你为特定应用程序设置的HttpProvider执行JSON RPC查询,或者你运行一个轻量级客户端。
我认为,要做的就是运行一个轻型客户端(LES protocol),只在需要时连接到一个完整节点。轻客户端目前已经大量开发,并且已经进行了一些beta测试。
查看light client roadmap。 6月,轻客户端测试向公众开放。您可以按running a fork of the go-ethereum client进行测试。
git clone -b light-stable https://github.com/zsfelfoldi/go-ethereum.git
- 使用Go 1.6构建它(不会使用早期版本编译)
- 为轻客户端模式添加
--light
标志(为控制台模式运行geth --light console
)- 您还可以通过指定
在testnet上运行它--testnet
标记或带有--oppose-dao-fork
标记的原始未加工“经典”链- 您可以使用与普通客户端相同的(默认)数据目录运行light客户端,它使用单独的“lightchaindata”数据库目录而不是标准的“chaindata”,因此它不会干扰您的常规链数据库(不能同时使用相同的datadir运行两个)。
- 初始同步从受信任的检查点开始(稍后将以无信任的方式实现)。过去的标题仍然可以按需访问。对于mainnet和testnet,可信检查点都被硬编码到源中。
有专门的gitter channel,您可以提问。