问题描述
我正在使用 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()
方法轻松制作,之后我可以设置各种字段,例如gasPrice
和fromAddress
。我试图设置这些字段。看来我可以用 NewKeyedTransactOpts()
创建一个 TransactOpts
。但是,我在Android Geth版本中找不到这种方法。因为它的一个字段是 Signer
,我什至创建了一个 KeystoreSigner
类,我用它来创建一个 Signer
实例,然后我把它放在 TransactOpts
中。但是,当我使用所有字段运行它时,出现 hex not valid
错误。调试有点困难,因为我无法进入 Geth 代码行。
非常感谢任何建议或指示!
解决方法
以太坊多重签名钱包 此 repo 已被弃用并由 Safe Multisig 取代。请在此处找到 Safe 存储库:https://github.com/gnosis/safe-contracts
你可以关注github项目。