Seaport — это новый протокол рынка для безопасной и эффективной покупки и продажи NFT. Это библиотека на TypeScript, предназначенная для удобства взаимодействия с контрактом.
Это библиотека на TypeScript для помощи в работе с Seaport. Она включает различные методы и константы, которые делают работу с Seaport более простой. В число этих методов входят создание заказов, выполнение заказов, проверка баланса и одобрения, а также многое другое. Мы рекомендуем ознакомиться с документацией Seaport, чтобы лучше понять принципы работы рынка Seaport.
Мы рекомендуем использовать nvm для управления версиями Node.js. Выполните команду nvm use
, если у вас установлен nvm
.
Затем, в вашем проекте, выполните следующую команду:
npm install --save @opensea/seaport-js
Инстанцируйте ваш экземпляр Seaport с помощью вашего провайдера ethers:
import { Seaport } from "@opensea/seaport-js";
import { ethers } from "ethers";
const provider = new ethers.BrowserProvider(window.ethereum);
const seaport = new Seaport(provider);
import { Seaport } from "@opensea/seaport-js";
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider(
"https://<network>.alchemyapi.io/v2/YOUR-API-KEY",
);
const seaport = new Seaport(provider);
import { Seaport } from "@opensea/seaport-js";
import { ethers } from "ethers";
// Провайдер должен быть предоставлен подписчику при предоставлении пользовательского подписчика
const provider = new ethers.JsonRpcProvider(
"https://<network>.alchemyapi.io/v2/YOUR-API-KEY",
);
const signer = new ethers.Wallet("YOUR_PK", provider);
const seaport = new Seaport(signer);
Просмотрите соответствующие определения в seaport.ts
, чтобы узнать о различных возможностях этой библиотеки.
Многие основные потоки возвращают сценарии использования. Это значит, что если вы создаёте заказ (например, createOrder
), библиотека помогает выполнять необходимые проверки баланса и одобрения на основе предложения заказа. Если отправителю требуется одобрение одного контракта, поле actions
сценария использования будет содержать действие одобрения, которое пользователь должен выполнить первым, чтобы торговая операция прошла успешно в будущем.
const offerer = "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266";
const fulfiller = "0x70997970c51812dc3a010c7d01b50e0d17dc79c8";
const { executeAllActions } = await seaport.createOrder(
{
offer: [
{
itemType: ItemType.ERC721,
token: "0x8a90cab2b38dba80c64b7734e58ee1db38b8992e",
identifier: "1",
},
],
consideration: [
{
amount: ethers.parseEther("10").toString(),
recipient: offerer,
},
],
},
offerer,
);
const order = await executeAllActions();
const { executeAllActions: executeAllFulfillActions } =
await seaport.fulfillOrder({
order,
accountAddress: fulfiller,
});
const transaction = executeAllFulfillActions();
const offerer = "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266";
const fulfiller = "0x70997970c51812dc3a010c7d01b50e0d17dc79c8";
const { executeAllActions } = await seaport.createOrder(
{
offer: [
{
amount: parseEther("10").toString(),
// WETH
token: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
},
],
consideration: [
{
itemType: ItemType.ERC721,
token: "0x8a90cab2b38dba80c64b7734e58ee1db38b8992e",
identifier: "1",
recipient: offerer,
},
],
},
offerer,
);
const order = await executeAllActions();
const { executeAllActions: executeAllFulfillActions } =
await seaport.fulfillOrder({
order,
accountAddress: fulfiller,
});
const transaction = executeAllFulfillActions();
См. руководство по участию в проекте для подробных инструкций по началу работы с этим проектом.
MIT Copyright 2022 Ozone Networks, Inc.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )