0.0.11195 • Published 2 years ago

@fahust/test-inverse-react-lib v0.0.11195

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

yalc publish yalc update yarn publish --access=public yarn rollup

Status GitHub Issues GitHub Pull Requests License


🧐 About

La SDK inverse, permet de créer des jetons ERC721 , ERC721A, ERC1155, et de les mettre en vente dans des enchères ou des ventes directes. Chaque jeton reste paramétrable et peut être vendu sur les plateformes les plus connues telles que opensea, rarible...

Toutes les fonctions faisant appel à une variable API_KEY devront être impérativement appelé depuis votre back (serveur, node js)

🏁 Getting Started

Il vous faudra obligatoirement vous inscrire sur nos serveurs, vous pourrez le faire depuis notre plateforme ou bien directement sur la SDK

Prerequisites

Vous aurez besoin de node et npm.

Installing

L'installation se fait de façon très simple, ouvrez un terminal dans la racine de votre projet puis copier la ligne suivante :

npm i @fahust/test-inverse-react-lib

🎈 Usage

Pour utiliser notre package, vous devrez d'abord importer la librairie dans vos composant react :

import { InVerseSdk } from '@fahust/test-inverse-react-lib';

Puis instancier le SDK de la manière suivante :

sdk = new InVerseSdk()

Connection Web3 Brand

Connection vers le wallet de votre choix. À la connections si votre wallet n'est pas enregistrer sur nos serveurs, elle sera donc immédiatement enregistrée.

sdk.connectWeb3Brand(NETWORK_ID,API_KEY_INVERSE)

À partir de ce moment, vous pourrez renseigner des paramètres utilisateurs en envoyant le tableau suivant.

//ACCOUNT_OBJECT
{
  username:"",
  password:"",
  ...
}

Ses informations seront gardées sur nos serveurs.

sdk.updateMyAccount(ACCOUNT_OBJECT);

Connection Web3 user

Pour faire des enchères ou des achats, vos utilisateur auront besoin de ce connecter

sdk.connectWeb3User(NETWORK_ID)

Création d'un smart contract de market place

Création d'un smart contract maketplace.sol Ce contrat nécessitera de n'être créé qu'une seule fois, mais est obligatoire pour la suite. L'adresse du contrat ainsi créé sera définitivement reliée à votre compte sur nos serveurs.

sdk.createMarketPlaceContract(API_KEY_INVERSE)

Création d'un smart contract de token

Création d'un smart contract token, parmis les choix suivant ERC721 , ERC721A, ERC1155. Ces contrats de tokens pourront être créé autant de fois que vous le voudrez pour ajouter des collections. Pour vous permettre des frais de gaz minimum, nous enregistrons les adresses de ses contrats directement sur nos serveurs. Attention, le nom et le symbole sont immuables, réfléchissez bien avant de créer votre contrat. À la création du contrat, des metadatas du token sont enregistré sur ipfs ainsi que sur nos serveurs ainsi que les signatures ECDSA.

sdk.createTokenContract(API_KEY_INVERSE,CONTRACT_NAME:string,CONTRACT_SYMBOL:string,BASE_URI:string:optional)

Connection Smart Contract

Connections vers le smart contract créé au préalable par nos utilisateurs. Envoi une requête vers nos serveurs pour récupérer l'adresse du smart contract lié a votre adresse de wallet.

sdk.getMyAddressMarketPlace(API_KEY_INVERSE).then((res)=>{return ArrayOfAddress = res}).catch((err)=>{return err})

Pour récupérer vos adresses de smart contract de token créer vous devrez appeler cette fonction vers le serveur qui vous renverra un tableau d'adresse :

sdk.getMyAddressTokens(API_KEY_INVERSE).then((res)=>{return ArrayOfAddress = res}).catch((err)=>{return err})

Pour faire des modifications sur votre marketplace, rajouter des auctions, les paramétrer puis les liés a vos collections de token, ainsi que permettre vos utilisateurs a effectuer des achats et enchère vous devrez rajouter l'adresse du market place dans la SDK :

sdk.connectAddressMarketPlace(ADDRESS_MARKET_PLACE)

🔧 Method

Method Dynamic

Vous pouvez faire appel à toutes les fonctions du smart contract a l'aide de notre composant Method

Connection au smart contract nécessaire

sdk.method(NAME_METHOD,ADDRESS_METHOD,SEND_VALUE,ARGUMENT)

Argument requis :

  • NAME_METHOD => Le nom de la méthode exact du smart contract que vous désirez appeler
  • ADDRESS_METHOD => L'address exact du smart contract que vous désirez appeler Argument optionel :
  • SEND_VALUE => La valeur en eth que vous désirez envoyer vers le smart contract
  • ARGUMENT => Les arguments nécessaires à la fonction, sous forme de tableau, un élément pour chaque valeur.

Exemple :

sdk.method(mint,"0x0000000000000","1000000",[10,"10","test"])

Method static

Ou bien, vous pouvez utiliser les méthodes suivantes de façon statique :

Method TOKEN

//Permet un mint de plusieurs token (max 100 pour erc721 et erc1155, max 1000 pour le erc721A)
sdk.mint(NUMBER_OF_MINT,ADDRESS_CONTRACT_TOKEN)//only owner
sdk.getAllNft(ADDRESS_CONTRACT_TOKEN).then((res)=>{return ArrayOfNFTs = res}).catch((err)=>{return err})
//Utilise ECDSA pour enregistrer les adresses whitelisté vers le serveur
sdk.addWhitelist(ADDRESS_WHITELISTED,ADDRESS_CONTRACT_TOKEN)
sdk.removeWhitelist(ADDRESS_WHITELISTED,ADDRESS_CONTRACT_TOKEN)
sdk.isWhitelisted(ADDRESS_WHITELISTED,ADDRESS_CONTRACT_TOKEN).then((res)=>{return res}).catch((err)=>{return err})
sdk.getWhitelist(ADDRESS_CONTRACT_TOKEN).then((res)=>{return ArrayOfWhitelisted = res}).catch((err)=>{return err})

Method MARKETPLACE

Le marketplace contient des listes, qui peuvent être des ventes d'objet direct, ou bien des enchères. Elle peuvent toutes deux contenir un tableau des id token mis en vente ainsi qu'un tableau de prix.

A la création d'une liste, les tokens listé seront transféré vers votre contract de marketplace.sol

Pour une vente direct les token contenu dans cet liste pourront être acheter un par un. Pour une enchère les tokens contenu seront tous vendu a la fin de l'enchère.

La création ou la mise a jour de vente nécessitera un objet de ce type :

//OBJECT_LIST
{
  startTime:"", //timestamp in seconds
  timeAuction:"", //timestamp in seconds
  tokenIds: [], //array of id token
  tokenPrice: [], //array of price for anyone
  basePrice: "", //Price of object
  addressOfContratToken: "", //address of contract token
  minimumPrice: "", //price minimum of bid
  royalties: [], //address of royalties
  typeOfList : 0 ,//direct sell or auction (0 or 1)
}
sdk.createList(OBJECT_LIST)//onlyOwner // transfert des tokens
sdk.updateList(OBJECT_LIST)//onlyOwner
//Démarrer une vente aux enchères
sdk.getList(list_id).then((res)=>{return ListObject = res}).catch((err)=>{return err})
sdk.getLists().then((res)=>{return ListObject = res}).catch((err)=>{return err})
sdk.getHistoricList(list_id)//Récupère une liste fermé depuis nos serveurs
sdk.getHistoricLists()//Récupère les liste fermé depuis nos serveurs

//Mettre fin à une vente aux enchères enverra les NFTs aux gagnants et enverra le dépôt du gagnant aux royalties.
//Pour une optimisation maximale de frais de gaz, nous transférons les data de la list fermé vers nos serveurs.
sdk.closeList(list_id)//onlyOwner or winner ?
//Une vente aux enchères ne peut être annulé qu'avant le démarrage de cette dernière.
sdk.cancelList(list_id)//onlyOwner

Vos utilisateurs pourront ensuite intéragir avec vos listes de la façon suivante :

AUCTION

//BIDDING_VALUE Doit être plus élevé que l'offre d'enchère actuel
///@dev verify list, started, not finish, bid > msg.value, payable precedent bidder
sdk.bidding(WEI_BIDDING_VALUE)

DIRECT SELL

//Permet aux clients d'acheter et de recevoir son NFT en échange d'un achat. 
///@dev Verifiy list, token is listed, no transfered, send money, transfer to buyer, unset of list token and price
sdk.buy(WEI_VALUE,ID_TOKEN)//only sender

🔧 COMPONENTS

Nous méttons a votre disposition des composants natifs

-Composant d'affichage d'un token (contient le token id, l'image, l'address owner, le nom et le symbol de la collection)

⛏️ Built Using

✍️ Authors

🎉 Acknowledgements

  • Hat tip to anyone whose code was used
  • Inspiration
  • References
0.0.11180

2 years ago

0.0.11182

2 years ago

0.0.11184

2 years ago

0.0.11183

2 years ago

0.0.11185

2 years ago

0.0.11188

2 years ago

0.0.11187

2 years ago

0.0.11189

2 years ago

0.0.11149

2 years ago

0.0.11195

2 years ago

0.0.11151

2 years ago

0.0.11150

2 years ago

0.0.11153

2 years ago

0.0.11152

2 years ago

0.0.11155

2 years ago

0.0.11154

2 years ago

0.0.11157

2 years ago

0.0.11159

2 years ago

0.0.11158

2 years ago

0.0.11160

2 years ago

0.0.11162

2 years ago

0.0.11161

2 years ago

0.0.11164

2 years ago

0.0.11163

2 years ago

0.0.11166

2 years ago

0.0.11165

2 years ago

0.0.11168

2 years ago

0.0.11167

2 years ago

0.0.11169

2 years ago

0.0.11171

2 years ago

0.0.11170

2 years ago

0.0.11172

2 years ago

0.0.11174

2 years ago

0.0.11178

2 years ago

0.0.11148

2 years ago

0.0.11147

2 years ago

0.0.11146

2 years ago

0.0.11145

2 years ago

0.0.11144

2 years ago

0.0.11143

2 years ago

0.0.11142

2 years ago

0.0.11141

2 years ago

0.0.11140

2 years ago

0.0.11139

2 years ago

0.0.11138

2 years ago

0.0.11137

2 years ago

0.0.11136

2 years ago

0.0.11135

2 years ago

0.0.11134

2 years ago

0.0.11133

2 years ago

0.0.11132

2 years ago

0.0.11131

2 years ago

0.0.11130

2 years ago

0.0.11129

2 years ago

0.0.11128

2 years ago

0.0.11127

2 years ago

0.0.11126

2 years ago

0.0.11125

2 years ago

0.0.11124

2 years ago

0.0.11123

2 years ago

0.0.11122

2 years ago

0.0.11121

2 years ago

0.0.11120

2 years ago

0.0.11119

2 years ago

0.0.11118

2 years ago

0.0.11117

2 years ago

0.0.11116

2 years ago

0.0.11115

2 years ago

0.0.11114

2 years ago

0.0.11113

2 years ago

0.0.11112

2 years ago

0.0.11111

2 years ago

0.0.1111

2 years ago

0.0.111

2 years ago

0.0.11

2 years ago

0.0.1

2 years ago