所以在使用thirdweb时, 我在循环主网上有一份合同,并且无法验证,但我有该合同的 abi。
现在
const network = Loopnetwork;
const privateKey = process.env.NEXT_PUBLIC_PRIVATE_KEY;
const sdk = ThirdwebSDK.fromPrivateKey(privateKey, network);
工作正常,我得到了一个 SDK,但它是使用我帐户的私钥,并且我能够创建一个合约实例,如下
const contract = await sdk.getContractFromAbi(Contract_ADDRESS, Contract_ABI);
这样我就可以用它调用任何读/写函数,例如
const { mutateAsync: approve } = useContractWrite(contract, "approve");
但它的作用是在后台使用我的钱包帐户,而不弹出元掩码。 但是如果我希望这个函数被某人的帐户调用,这是不可能的,因为元掩码没有弹出并且私钥被传递,所以它对其执行函数。
如果我没有在 sdk 中传递私钥,则会出现错误并且不会继续。所以我想要一个解决方法或解决方案,如果有人可以提供帮助,因为我的整个项目是在thirdweb上配置的,并且我无法使用useContractWrite()钩子,因为我的合同尚未验证。
你找到这个问题的解决方案了吗,我也面临着类似的问题