@cryptovoxels/marketplace-js
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

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.

  1. Clone repo get clone https://github.com/cryptovoxels/marketplace-js.git

  2. npm i to install the dependencies. If you encounter some issues, try LTS node v14.

  3. Run npm run abi-type-gen to generate the types of the contract given the ABIs.

Contributing

  1. Setup your environment

  2. Create a branch and do your changes

  3. Make sure your code is formatted using npm run format

  4. Also make sure your code builds using npm run build

  5. Make sure you add tests and that tests run smoothly with npm run test (see test section below)

  6. 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)

  1. Run ganache by running the command ganache in a separate console

  2. Run 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

  1. install with npm i @cryptovoxels/marketplace-js

  2. Use

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 events

Todo:

  • [x] 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?

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.2.00latest

Version History

VersionDownloads (Last 7 Days)Published
0.2.00
0.1.10
0.1.00
0.1.0-beta.00

Package Sidebar

Install

npm i @cryptovoxels/marketplace-js

Weekly Downloads

0

Version

0.2.0

License

ISC

Unpacked Size

185 kB

Total Files

50

Last publish

Collaborators

  • nth-commit
  • pietgeursen
  • stojg
  • fayelure
  • mmckegg