我正在尝试使用 opensea-js sdk 从特定集合中购买固定价格列出的 NFT,但是当通过有效订单进入seaport.fulfillOrder()
时,我只是未定义为返回值。
我的假设是 web3 提供商没有为希望进行购买的帐户设置错误,但我已经坚持了几个小时并且没有取得任何进展。任何人有幸使用这种方法通过 Node.js 在 Opensea 上成功购买 NFT 吗?我正在 Rinkeby 测试网上进行测试。
这是我用来完成订单的代码,订单对象是有效的并使用检索seaport.api.getOrder()
const order = await seaport.api.getOrder({
asset_contract_address: NFT_CONTRACT_ADDRESS,
maker: undefined,
taker: '0x0000000000000000000000000000000000000000',
owner: undefined,
side: OrderSide.OrderSide.Sell,
bundled: false,
token_id: token_id,
sale_kind: 0
});
const accountAddress = '0x12....';
const transactionHash = await seaport.fulfillOrder({
accountAddress,
order,
}).catch(err => console.log(err));
console.log("tx hash: " + transactionHash);
这是我用来初始化 web3 和 seaport 的代码:
const provider = new Web3.providers.HttpProvider(walletAPIUrl);
const web3 = new Web3(provider);
const account = web3.eth.accounts.privateKeyToAccount('0x' + PRIVATE_KEY);
web3.eth.accounts.wallet.add(account);
web3.eth.defaultAccount = account.address;
const seaport = new OpenSeaPort(
provider,
{
networkName: Network.Rinkeby,
},
(arg) => console.log(arg)
);
以下是我在运行该函数时看到的错误消息:
任何帮助将不胜感激