Source-code
https://github.com/MisterTicot/js-cosmic-lib
Previous SBC entry
https://galactictalk.org/d/1056-cosmiclib-stellar-transactions-into-url-library-javascript
What is js-cosmic-lib ?
js-cosmic-lib is the JavaScript library implementing the Cosmic Link protocol. For a detailed explanation of this please see: Understanding Cosmic Links.
What was already done at last SBC?
It was merely a proof of concept, the queries could only encode one-operation transaction, with incomplete support of some of them.
What have been done?
The library have been fully rewritten and re-implemented in JavaScript6. The planned features have been implemented and the protocol is now complete:
- Support for XDR
- Support for multi-operation transactions
- Support for multi-signatures accounts / multi-source transactions
- Support for format conversion in any direction
- Now compatible with node.js
Then I've worked on making the library more accessible for other devs:
- NPM, Yarn & bower packages
- debug and demo interfaces
- Complete documentation
- Description of most of the functions in the code
The beta-1 release happened a couple of weeks ago.
What's next?
The beta-2 release is going to come with a lot of changes, as I believe I can make the library easier to use and understand. This is the next big step. Here are the keypoints:
- Implementing valuable standards: SEP-0007, DKIF, StellarGuard 2FA
- Make it easier to generate/edit cosmic links
- Expose some of the underlying functions (resolve federated address, resolve transaction, html display of addresses & assets, multisignature routines...)
- Better organization of the code and better documentation
js-cosmic-lib will shift from having the unique task of implementing the Cosmic Link protocol to a bit more general library that will help spreading good standards and good practice. Of course it will still be centered around cosmic links, but I found that I can as well give access to all the underlying code and standards involved in the implementation. Now that the protocol itself is fully implemented, I have the opportunity to do so.
The stable release is planned for this autumn and will also come with ledger wallet integration, private network and multi-signature sharing support (wich's required by SEP-0007).