//合约地址 let contractAddress = '0x125b453241DfaEF8C41AE3b6FB2D761417'; //我的账户 let address = "0x5Ce1Bf6448a8063124C02CE943359B92f";
let ethersProvider = new ethers.providers.JsonRpcProvider('https://bsc-dataseed.binance.org/');
const Contract = new ethers.Contract( contractAddress, abi, ethersProvider.getSigner() );
let transaction = Contract.buyBox(1)
console.log(transaction)
ethersProvider 没有 singer , getSigner 自然获得不了账号。
你应该是后端使用这段代码吧, 你的代码只有在前端使用钱包注入的 provider 时有效, 因为此时 provider 包含了钱包信息(即signer).
你这里需要使用 Contract 去connect 一个 ethers.Wallet , 然后在发起交易。