UNPKG

nft-barter-sdk

Version:

Javascript SDK for abstracting complexities of interacting with NFT protocols.

94 lines (63 loc) 2.84 kB
# Barter SDK for interacting with the Barter Smart Contracts. ## Authors - [Ebube](https://www.github.com/EbubeUd) - [KC] (https://www.github.com/PreciousKosisochukwuJenz) ## Badges [![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/tterb/atomic-design-ui/blob/master/LICENSEs) [![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/) [![AGPL License](https://img.shields.io/badge/license-AGPL-blue.svg)](http://www.gnu.org/licenses/agpl-3.0) ## Features - Create Sale - Create Offer - Sign Transfer Transactions - Execute Exchange ## Installation Install nft-barter-sdk with npm ```bash npm install nft-barter-sdk cd my-project ``` ## Usage/Examples ### Init After installing the SDK, import the Barter class into your current script. ```js import Barter from 'nft-barter-sdk' // Initialize web3 using ethers.js await window.ethereum.enable(); const provider = new ethers.providers.Web3Provider(window.ethereum, "any"); // Prompt the user to select an account await provider.send("eth_requestAccounts", []); // Initialize Barter const barter = new Barter(provider); ``` ### Sales #### Creating a Sale You can offer up a token or collection of tokes for sale (exchange) by using the sale() method. ```js const sale = barter.sale(); // Add a token to offer up for exchange await sale.addToken({"quantity":"200", "tAddress": "0xFD244E7f5A39845087D21825f87BEEf9eC79208a", "tId":1, "tStandard":1}); // Make the sale visible to other users await sale.publish(); ``` #### Adding Multiple Tokens You can add multiple tokens by repeatedly calling the addToken function: ```js const sale = barter.sale(); await sale.addToken({"quantity":"100", "tAddress": "0xFD244E7f5A39845087D21825f87BEEf9eC79208a", "tId":1, "tStandard":"ERC20"}); await sale.addToken({"quantity":"1", "tAddress": "0x6E8095814Dbfb8765f603F82eaa4d8aB63234D2C", "tId":1, "tStandard":"ERC721"}); await sale.addToken({"quantity":"2", "tAddress": "0x6E8095814Dbfb8765f603F82eaa4d8aB63234D2C", "tId":1, "tStandard":"ERC1155"}); ``` #### Loading an Existing Sale To load an existing sale, call: ```js const sale = barter.sale(saleId); ``` Where no sale ID is passed in, barter creates a new instance of the Sale class. #### Approving an offer When a preferred offer has been identified by the seller, he can approve the offer by calling: ```js sale.approveOffer(offerId, true); ``` The first parameter is the Id of the offer to approve while the second parameter is an optional value indicating whether or not the transaction should be executed on the blockcahain. If set to true, the user will be prompted to execute the transation after signing, whereas, setting this value to false only returns the signature after the user has signed the transaction.