Skip to content

Latest commit

 

History

History
127 lines (91 loc) · 3.3 KB

README.md

File metadata and controls

127 lines (91 loc) · 3.3 KB

Utility made easy

Javascript library for Whal3s developer platform

Contents

Description

Developer platform to easily create, deliver & manage any kind of token utility.
This library is used to quickly and efficiently integrate the Whal3s developer platform into your existing tech stack. It is written in TypeScript, but thanks to UMD build it also offers support for vanilla JS or frameworks like React or Angular.

Documentation

See the whal3s.js API docs for Guides, Examples and API endpoint definitions.

Requirements

To use this library, you need an account on app.whal3s.xyz, as well as a utility ID. You can get this by creating a utility via the platform.

Installation

Install the whal3s.js package with NPM:

npm install @whal3s/whal3s.js

Usage

Initialize Whal3s

 const whal3s = new Whal3s();

NFT Validation Utility

To use your NFT validation utility, you need to initialize the utility with your utility ID. You can get your utility ID from the platform or the API.

But be careful. Whal3s utilities are working in steps. Read the documentation carefully.

 const utility = await whal3s.createValidationUtility(id)

Connect wallet

await utility.connectWallet()

Sign message

await utility.sign()

Select NFT

utility.tokenId = tokenId

Reservations

await utility.reserveEngagement()

Claiming

await utility.storeEngagement({JSON_METADATA})

Customization

Whal3s is developed in partnership with Blocknatives' web3-onboard. You can customize the wallet connection modal by passing initOptions to the Whal3s constructor.

const whal3s = new Whal3s({
  accountCenter: {
      //...
  }
})

Find all available options here.

## ToDo
- [x] Wallet connection
- [x] NFT Ownership Validation Utility aka token gating
- [x] Demo page
- [ ] Write tests
- [x] Customize wallet-connect-functionallity
- [x] GitHub hooks
- [x] Deploy to npm



## Tests

The whal3s.js project comes with a demo to test and
[Unit Tests](https://en.wikipedia.org/wiki/Unit_testing).    
There are two different ways to run the tests:

- Start demo by using `npm run serve`
- run `npm test` in the Terminal in the root path of the repository package.

The first one let you test the user experience in the browser, the second one tests unit tests.
## License

The JavaScript Templates script is released under the  
[MIT license](https://opensource.org/licenses/MIT).