Create a Higher-level Unified client library for Cartesi
Description
This bounty is to create a Higher-level Unified client library for Cartesi. Currently, Cartesi developers have to deal with three different interfaces:
JSON-RPC → for generating inputs to the Cartesi Rollups, using a web3 library to interface with a blockchain node, like ethers.js or web3.js.
HTTP Rest → for interacting with the "read-only", inspect the API of the Cartesi node using an HTTP client library like Axios.
GraphQL → for querying inputs and outputs of a Rollup DApp (reports, notices, and vouchers) using a client library like Relay.
It would be great to have a wrapper library that abstracts the underlying connection using different protocols so that new developers can interact with Rollups DApps easier. The Rollups examples cli frontend could be a good resource for this feature bounty as it uses all three interfaces.
Acceptance criteria
The proposed solutions will mainly be evaluated based on these criteria:
Completeness of the solution (cover use cases)
Elegance of the proposed API (simple, easy to use)
Quality of the solution (good design and implementation)
Rewards
- 1: 3000 USD
- 2: 2000 USD
- 3: 1000 USD
- 4: 1000 USD
Resources
- Docs → https://docs.cartesi.io
- https://docs.cartesi.io
- Blog → https://medium.com/@cartesi
- https://medium.com/@cartesi
- GitHub → https://github.com/cartesi/rollups-examples
- https://github.com/cartesi/rollups-examples
- Magazine → https://bit.ly/cartesi-magazine
- https://bit.ly/cartesi-magazine
- Videos → https://bit.ly/cartesi-playlist
- https://bit.ly/cartesi-playlist