By using TypeScript, we’re already getting closer, as TypeScript can transpile our code into different environments.
Abstract the underlining blockchain implementation
Good libraries hide the specifics from their clients and offer a comfortable interface to the desired functionality which the library aspires to serve.
With that being said, sometimes developers need more “low-level” APIs and functionality, so we’ll address it if the need surfaces.
Encourage community support
As a Kin employee who lives through the everyday creation of this new ecosystem, I can safely and honestly say that, in our eyes, Kin belongs to everyone, it’s not ours, and indeed during my occasional strolls through our Reddit I find myself humbled time and time again by the level of support from our community. Because of this, I’d be very surprised to learn that developers in our community are not waiting for the opportunity to help, try, test, fork, develop, embed, and use kin.js in ways we haven’t even thought of yet.
It will take time, but we’ll work on making it as accessible as we can so that you will all be able to contribute.
It is currently only targeted for Node.js because we use it to mock clients in our tests. Making it available for other runtime environments is on our list (more on that later). It was easy to start with the SDK for testing as it doesn’t (directly) affect production.
The client provides the following functionality:
- Create/load a Kin wallet
- Pay to address
- Get past payments
- Subscribe to a new payment event
The library works well, even with limited functionality, and it can be used as long as its users understand that it will probably change greatly in the near future.
I suspect that as this project progresses it will evolve according to the requests and needs of our partners, developers, and ourselves. It is impossible to predict those needs and the timeline for them, but here is where we currently see this project heading (remember that all of this is extremely speculative and may change drastically):
1. Finalize the client
While the client works great, it lacks tests, which are needed to complete this stage. The tests will likely consist of unit tests and integration tests with our blockchain.
2. Node.js server component
While it is possible to use the client for multiple wallets in a server environment, it will require the developer to manage those wallets. Additionally, it might not scale well. To solve these issues and grant more server-oriented API, we’ll provide a server component which will:
- Create, load, fund, and manage multiple Kin wallets
- Pay to address
- Subscribe to Kin payments for any given address
- Support high volume of transactions (by using Stellar channels)
3. Browser and mobile support
While this is probably what people are looking for most, we still need to figure out the needs and the use cases. Major issues here are the responsibility of saving the private key for the user, and other security concerns we haven’t started to appreciate.
If you have any questions you can comment on this post, ask in our Reddit, create an issue in our Github repo, or ask a question with a kin tag in Stack Overflow.
- Github repo: https://github.com/kinecosystem/kin.js
- npm package: https://www.npmjs.com/package/@kinecosystem/kin.js
- Reddit: http://reddit.com/r/KinFoundation/
- Stackoverflow: https://stackoverflow.com/questions/tagged/kin