以下代码:
const { JsonRpcProvider } = require("@ethersproject/providers")
const { Contract } = require("ethers")
const { Wallet } = require("@ethersproject/wallet");
const abi = require('./abi.json');
const GLOBAL_CONFIG = {
PPV2_ADDRESS: "0x18B2A687610328590Bc8F2e5fEdDe3b582A49cdA",
PRIVATE_KEY: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
BSC_RPC: "https://bsc-mainnet.public.blastapi.io"
};
const signer = new Wallet(GLOBAL_CONFIG.PRIVATE_KEY, new JsonRpcProvider(GLOBAL_CONFIG.BSC_RPC));
const contract = new Contract(GLOBAL_CONFIG.PPV2_ADDRESS, abi, signer)
const predictionContract = contract.connect(
signer
)
predictionContract.on("StartRound", async (epoch) => {
console.log("\nStarted Epoch", epoch.toString())
});几个月来,它一直运行得很好。然而,昨晚它停止了。在我的终端上没有新的构建/代码更改。我一直在尝试我能想到的一切,但什么也没有。签字人似乎把我的钱包细节带回来了。我也可以看到predictionContract上的所有函数,但不能让它返回当前的Epoch值等等。正如您可能已经注意到的,我不是一个编码器,所以任何帮助理解这将是惊人的。
发布于 2022-11-27 15:22:25
经过一段时间的思考后,我注意到合同似乎很忙,于是决定尝试另一种RPC (我之前已经尝试过3次)。现在似乎起作用了,但并不完全是科学的。是否有任何方法来监控请求的时间和延迟的位置?我有一个设计思想,测试多个RPC在启动期间,然后使用最快/最可靠的,但不知道从哪里开始!
https://stackoverflow.com/questions/74590454
复制相似问题