首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何初始化现有的Gnosis安全和创建事务?

如何初始化现有的Gnosis安全和创建事务?
EN

Ethereum用户
提问于 2022-02-12 23:11:05
回答 1查看 293关注 0票数 0

我有一个node.js文件,在这里我想初始化一个现有的Gnosis安全,其中我的地址是一个签名者,并使用它创建事务。

我使用的是SDK1.3.0版本,这是我的代码->

代码语言:javascript
复制
const { ethers } = require("ethers");

const { SafeFactory, EthersAdapter } = require("@gnosis.pm/safe-core-sdk");

const provider = new ethers.providers.getDefaultProvider("rinkeby");
const owner1 = new ethers.Wallet(
process.env.PRIV_KEY,  provider
);

async function test() {
  const safeSdk = await SafeFactory.create({
    ethAdapter: new EthersAdapter({
      ethers,
      signer: owner1,
    }),
    safeAddress: process.env.SAFE_ADDRESS,
  });
  const transaction = {
    to: process.env.RECEIVER_ADDRESS,
    value: ethers.utils.parseEther("0.0001"),
    data: "0x537461636b45786368616e6765",
  };
  const safeTransaction = await safeSdk.createTransaction(transaction);
  const executeTxResponse = await safeSdk.executeTransaction(safeTransaction);
  await executeTxResponse.transactionResponse?.wait();
}
test();

这就是我得到的输出->

代码语言:javascript
复制
/home/runner/JuniorSlateblueHexadecimal/index.js:23
  const safeTransaction = await safeSdk.createTransaction(transaction);
                                        ^

TypeError: safeSdk.createTransaction is not a function
    at test (/home/runner/JuniorSlateblueHexadecimal/index.js:23:41)

解决办法是什么?也尝试使用安全对象而不是SafeFactory,但仍然无法工作。请帮帮我!

EN

回答 1

Ethereum用户

发布于 2022-02-14 15:39:03

在您的代码中,safeSdkSafeProxyFactory的实例,而不是SafeProxy的实例。您需要从工厂实例调用方法deploySafe。返回的对象将是safeSdk

下面是如何从ProxyFactoryhttps://github.com/gnosis/safe-core-sdk/tree/main/packages/safe-core-sdk#2-deploy-a-new-safe中部署一个新的保险箱的步骤

要用已经部署的安全工具实例化安全核心SDK,可以从Safe类调用方法https://github.com/gnosis/safe-core-sdk/tree/main/packages/safe-core-sdk#create-1C9

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

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

复制
相关文章

相似问题

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