2018-09-04 Update

Status Update

I want to share with you the weekly status update for our dApp (decentralized
application) development team.

GraphQL

We have decided to use GraphQL for accessing our Ethereum smart contracts. In
GraphQL, an API is typically split into Mutations, Queries, and
Subscriptions. Instead of requiring our frontend to call .call() on every
smart contract state variable, and do a complicated .send(), we want to offer
all frontend functionalities in a frontend developer-friendly package. GraphQL
comes in handy here, as the GraphQL schema also serves as a documentation on
what the API can and cannot do, as well as what data types it accepts.

Using smart contracts already requires a lot of mental effort, and we hope to
simplify working with them through offering a simplified API.

TypeScript

Code that comes in contact with cryptocurrencies and smart contracts should be
written with care and precision. Type-safe browser languages like TypeScript
are a big help here. When using libraries like web3.js, we can use TypeScript
to wrap them in a safe layer, and get type-safety throughout the whole browser
application stack — from front to back.

We have now almost fully converted our Asobi Market code base to use
TypeScript.

eBook Formats

We are currently looking into the best open eBook format to support in the
Asobi Market. A lot of formats exist and they all have their advantages and
disadvantages. The two formats that have caught our attention are DjVu for
image-heavy content, and ePub for text-heavy content. Typical considerations
here are band-width, ease of use, robustness, and ease of authoring.

Summary

We are doing a lot of research at this point and are constantly improving the
Asobi Market. We look forward to sharing more news with you soon.