微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Kotlin 中为 Android 部署带有 Go Ethereum (Geth) 的 Ethereum 合约?

如何解决如何在 Kotlin 中为 Android 部署带有 Go Ethereum (Geth) 的 Ethereum 合约?

我正在使用 Go Ethereum (Geth) library for Android。我想在我自己的 Kotlin 代码中的 Geth 节点上部署 this multi-signature contract,由于几乎没有关于 Android 上的 Geth 的文档或示例,我真的很挣扎。我将此合约编译为 .abi.bin 文件,并使用 abigen 生成了 Java 绑定/包装器。我现在如何在我的 Kotlin 代码中部署这个绑定?据我所知,找出我的 Geth 库包含哪些函数和类的唯一方法是检查 .aar 本身并使用 Android Studio自动完成提示。通过这种方式,我发现 org.ethereum.geth.Geth 类具有方法 deployContract()(它要求一个 TransactOpts;我也很挣扎)和 bindContract()。它们之间有什么区别,我该如何使用它们?

关于TransactOpts:可以使用Geth.newTransactOpts()方法轻松制作,之后我可以设置各种字段,例如gasPricefromAddress。我试图设置这些字段。看来我可以用 NewKeyedTransactOpts() 创建一个 TransactOpts。但是,我在Android Geth版本中找不到这种方法。因为它的一个字段是 Signer,我什至创建了一个 KeystoreSigner 类,我用它来创建一个 Signer 实例,然后我把它放在 TransactOpts 中。但是,当我使用所有字段运行它时,出现 hex not valid 错误。调试有点困难,因为我无法进入 Geth 代码行。

非常感谢任何建议或指示!

解决方法

以太坊多重签名钱包 此 repo 已被弃用并由 Safe Multisig 取代。请在此处找到 Safe 存储库:https://github.com/gnosis/safe-contracts

你可以关注github项目。

https://github.com/gnosis/safe-contracts

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。