1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ProjectOpenSea-seaport-js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Версия npm CI тестирование Объект покрытия Лицензия Документация Обсуждение

Seaport.js

Seaport — это новый протокол рынка для безопасной и эффективной покупки и продажи NFT. Это библиотека на TypeScript, предназначенная для удобства взаимодействия с контрактом.

Краткое содержание

Это библиотека на TypeScript для помощи в работе с Seaport. Она включает различные методы и константы, которые делают работу с Seaport более простой. В число этих методов входят создание заказов, выполнение заказов, проверка баланса и одобрения, а также многое другое. Мы рекомендуем ознакомиться с документацией Seaport, чтобы лучше понять принципы работы рынка Seaport.

Установка

Мы рекомендуем использовать nvm для управления версиями Node.js. Выполните команду nvm use, если у вас установлен nvm.

Затем, в вашем проекте, выполните следующую команду:

npm install --save @opensea/seaport-js

Начало работы

Инстанцируйте ваш экземпляр Seaport с помощью вашего провайдера ethers:

Примеры

Через провайдер браузера (например, MetaMask)

import { Seaport } from "@opensea/seaport-js";
import { ethers } from "ethers";

const provider = new ethers.BrowserProvider(window.ethereum);

const seaport = new Seaport(provider);

Через провайдер RPC (например, Alchemy)

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 сценария использования будет содержать действие одобрения, которое пользователь должен выполнить первым, чтобы торговая операция прошла успешно в будущем.

Примеры

Размещение ERC-721 за 10 ETH и его выполнение

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();

Предложение за ERC-721 за 10 WETH и его выполнение

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 )

Вы можете оставить комментарий после Вход в систему

Введение

Библиотека JavaScript для взаимодействия с маркетплейсом Seaport. Развернуть Свернуть
TypeScript и 4 других языков
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ProjectOpenSea-seaport-js.git
git@api.gitlife.ru:oschina-mirror/ProjectOpenSea-seaport-js.git
oschina-mirror
ProjectOpenSea-seaport-js
ProjectOpenSea-seaport-js
main