0

我创建了一个 nft 并在 OpenSea 中列出。现在我正在尝试通过 opensea-js sdk 创建我的商品的销售订单。不幸的是,它不起作用。不知道我在哪里犯了错误。我也不确定基本派生路径。下面是我创建卖单的代码。请帮我解决这个问题。

const opensea = require("opensea-js");
const OpenSeaPort = opensea.OpenSeaPort;
const Network = opensea.Network;
const MnemonicWalletSubprovider = require("@0x/subproviders")
  .MnemonicWalletSubprovider;
const RPCSubprovider = require("web3-provider-engine/subproviders/rpc");
const Web3ProviderEngine = require("web3-provider-engine");

const MNEMONIC = "accuse never ....";
const NFT_CONTRACT_ADDRESS = "0x6C317E7dE3e8823BBc308a2912Ba6F24587fc167";
const OWNER_ADDRESS = "0x589a1532AAaE84e38345b58C11CF4697Ea89A866";
API_KEY = "";

const infuraRpcSubprovider = new RPCSubprovider({
    rpcUrl: "https://rinkeby.infura.io/v3/c0e4482bdf9e4f539692666cd56ef6e4"
  });

  const BASE_DERIVATION_PATH = `44'/60'/0'/0`;

  const mnemonicWalletSubprovider = new MnemonicWalletSubprovider({
    mnemonic: MNEMONIC,
    baseDerivationPath: BASE_DERIVATION_PATH,
    chainId: 4
  });

  const providerEngine = new Web3ProviderEngine();
  providerEngine.addProvider(mnemonicWalletSubprovider);
  providerEngine.addProvider(infuraRpcSubprovider);
  providerEngine.start();

  const seaport = new OpenSeaPort(
    providerEngine,
    {
      networkName: Network.Rinkeby,
      apiKey: API_KEY,
    },
    (arg) => console.log(arg)
  );


async function main() {

    console.log("Auctioning an item for a fixed price...");
  const fixedPriceSellOrder = await seaport.createSellOrder({
    asset: {
      tokenId: "3",
      tokenAddress: NFT_CONTRACT_ADDRESS,
    },
    startAmount: 0.0001,
    expirationTime: 0,
    accountAddress: OWNER_ADDRESS,
  }) ;
    console.log("fixedPriceSellOrder") ;
}


main();
4

1 回答 1

1

这已解决。我已将 HDProvider 更改为 @truffle/hdwallet-provider。现在我可以通过 opensea-js 在 createSellOrder 之后看到 opensea 中的列表。

这个链接帮助我解决了这个问题

于 2022-01-10T05:47:36.220 回答