@cryptovoxels/marketplace-js v0.2.0
Voxels (cryptovoxels) Marketplace js
WORK IN PROGRESS
A package to allow anyone to interact with the Voxels marketplace contracts.
The contracts are based here The graph repo is based here
Setting up Dev environment.
Clone repo
get clone https://github.com/cryptovoxels/marketplace-js.gitnpm ito install the dependencies. If you encounter some issues, try LTS node v14.Run
npm run abi-type-gento generate the types of the contract given the ABIs.
Contributing
Setup your environment
Create a branch and do your changes
Make sure your code is formatted using
npm run formatAlso make sure your code builds using
npm run buildMake sure you add tests and that tests run smoothly with
npm run test(see test section below)Create a Pull request at https://github.com/cryptovoxels/Voxels-Scripting-Server .
Testing
For testing, you need ganache to run a local network.
Run npm i -g ganache to install ganache globally. If you encounter issues, try the command again with a lower version of NodeJS; (LTS v14 works fine)
Run ganache by running the command
ganachein a separate consoleRun
npm run test
At the moment, npm run test is setup to deploy the abis of test/abis/**.json on the local network and then dynamically creates a .env file.
It's not a great behavior especially if we need a sticky env file in the future.
How to use
install with
npm i @cryptovoxels/marketplace-jsUse
const provider = window.ethereum;
const marketplaceSDK = new VoxelsMarketplace(window.ethereum);
const myItemToList = {
token_id: 1;
address: '0x...';
price: 0.5;
quantity: 1;
}
await marketplace.list(myItemToList)
// emits eventsTodo:
- Write tests (and tests on localhost blockchain network)
- Handle all errors and display them appropriately
- Make examples on how to use
- add other chains contracts
- add GSN support if possible
- Maybe test if we can integrate payments via GSN
- Add api calls to an api (subgraph?);
- Optimize?