首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个聪明的合同能在多功能钱包上批准一个悬而未决的交易吗?

一个聪明的合同能在多功能钱包上批准一个悬而未决的交易吗?
EN

Ethereum用户
提问于 2022-01-19 19:41:17
回答 1查看 337关注 0票数 0

假设我有一个像Gnosis保险箱一样的multisig钱包,它需要(比方说)两个或三个签名者来批准任何给定的事务。换句话说,multisig钱包有它自己的钱包地址,而2或3个其他钱包地址必须批准进行的任何事务。

我想要的是,其中一个“其他”钱包实际上是一个聪明的合同。该合同的所有者当然会启动该合同,并将其置于活动状态。在活动状态下,它会自动批准由其他钱包所有者为此multisig钱包启动的任何事务。smart契约还具有一个功能,合同所有者可以将其从活动状态中提取出来,这样就不会批准任何事务。

流程如下:假设我们有一个多say钱包(如Gnosis保险箱),有两个所有者: 1。“约翰”和“2”“智能合同”。John决定将1Eth发送到另一个钱包,因此John使用与Gnosis安全multisig钱包相连的Metamask创建并签署此事务。接下来,John使用了其他一些软件(比如Javascript或python中的简单web3脚本),这些软件调用智能契约中的函数,请求批准该事务。Smart契约验证请求是否来自John,并验证Smart契约是否处于活动状态。所以,它得到了交易并签了名。现在交易已经完成了。

如果智能契约的所有者决定不再让John进行任何事务,那么他们可以将合同设置为非活动状态,现在John不能再进行任何事务处理。

这在明智的合同中是可能的吗?对于John调用以请求批准的函数,事务信息是如何传递的,还是智能契约可以使用其他方式来访问这个挂起的事务?智能合同如何批准这一交易?

最后,假设我想拥有Eth,BSC,Avax和Polygon链的这种能力。我想这意味着我必须有一个版本的智能契约运行在每一个这些链上?

是的,我有一个很好的理由来问这是否可能。这与监管和税收问题有关。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2022-01-19 20:20:37

我只能回答非常具体的保险箱,因为这在很大程度上取决于智能合同钱包。

有了保险箱,有两种可能的方法。

从保险箱的1.3.0版本开始,可以添加一个守卫。在处于“非活动”状态时,可以控制此保护以防止任何事务的发生。

另一种解决方案是在控制活动或非活动状态的契约上实现EIP-1271 (遗留版本)。当在isValidSignature状态下调用inactive时,该契约将恢复,否则将恢复预期值。

这里有一个示例,说明如何使用守护方法或EIP-1271签名来完成此操作:https://gist.github.com/rmeissner/26bae7deaac62db764abc9a03902094e

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/119377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档