1

我正在尝试使用 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)
);

以下是我在运行该函数时看到的错误消息:

运行函数时显示的错误消息

任何帮助将不胜感激

4

0 回答 0