Q1 2019 Report

During this quarter Luciap Technology Inc. fulfilled all the mandatory tasks that fall to Factom Authority Node Operators:

  • We have participated in every vote that involved ANOs. We have also weighted our technical vision in several governance discussions.
  • We have been continuously running our fleet of mainnet and testnet servers with high availability. We are generally among the very first to update to the newest factomd versions due to our involvement in the Core and code deploy committee.

Luciap is operating at 50% efficiency (unchanged since election) and here is the list of extra activities we have been performing during this quarter which we believe justify our efficiency:

Software development

  1. We have finally released the version 1.0 of factom.js! If you want to integrate with Factom in a Node.js application or in the internet browser, this is the library you need. A lot of efforts have been put in to make it very easy to use with many high level functions. The code is fully open-source, with code following the current highest standards of JavaScript development and with over 92% of code coverage. We promised to deliver an enterprise-grade library and we believe this achieves that goal.
  2. We wrote a comprehensive walk-through tutorial on the Factom Protocol developer portal for learning how to write your first Factom application in JavaScript. This should allow any developer to quickly ramp up on Factom fundamental concepts and operations.
  3. We have been providing technical support for factom.js to a company looking to integrate Factom in their wallet application.
  4. We released the npm package joi-factom, an extension for JOI, a popular object schema validation library. It allows to validate Factoid addresses, Entry Credit addresses and digital identity keys.
  5. We released factom-keystore, a pure JavaScript key store that supports all the kind of keys used in the Factom ecosystem. It is a simple and safe (using xsalsa20-poly1305 authenticated encryption) component to use in your JS application that would require storage of Factom keys. It will be the keystore used in the FAT Wallet. Working on this project also lead us to make open-source contributions to other software inside and outside the Factom ecosystem.
  6. During the first grant round of 2019 we released a small web app that helped standing parties rank the grants and facilitate good judgment.
  7. We published a brand new version of our experimental tool factom-storage (which allows to store whole files on Factom). We revamped the underlying design based on the knowledge we gathered during the last year working on the on-chain voting and FAT protocols.
  8. We made a new PR to factom-walletd to add a small feature. Not much other “core” contribution recently, but we now have some great new core developers (from grants) working full time on that!
  9. Additional developer time has been invested in one library and one dev tool that will be announced when finalized (nothing secret, as usual this is open-source, the work is already visible on github).

Community involvement

  • Core and code deploy committee: as part of our continuous involvement we often act as the guinea pig for new releases both on testnet and mainnet. We also perform load testing on the testnet. And finally we participate in all internal discussions on bugs, improvements and next releases.
  • We joined the on-chain governance working group meant to pave the way for a more transparent and inclusive governance (e.g involving FCT holders).
  • We also joined as tech enthusiasts two technical discussion groups meant to discuss and develop new capabilities and usage on Factom.

Grants

  • We updated our factom-vote library to allow the support of Ledger S when voting on MyFactomWallet. This is an additional feature that was not pledged in the grant.
  • The on-chain voting grant has been officially delivered. Please read the report from our grant sponsor.
  • A massive amount of our time during this Q1 2019 was spent on the Factom Asset Tokens project (FAT). At present this is the #1 project we are investing time in. As a FAT Editor we are involved in the design of the various aspects of the protocol. And as developers we are focused on building the FAT wallet: a new wallet supporting all the fungible and non-fungible FAT tokens together with the regular Factoids and Entry Credits. It will also allow you to manage your Factom digital identities. We are really impatient to present an early version to the community! We will most likely talk at length of the FAT wallet in the near future. The FAT protocol is steadily maturing and very promising.

November and December Update

  • Since the last update the Factom Asset Tokens (FAT) project got awarded a grant by the community. This is currently the main project we are working on and it is taking up most of our time and effort. We are focusing on the development of a desktop wallet that will support all FAT tokens in one place, help you manage your digital identities and more. As all the work is open-source the development can be followed here. We are also participating in all technical discussions and FAT specifications improvements (FATIP).
  • We have published our first technical and educational article on Factom. It describes a handful of common design patterns (and anti-patterns) to use on Factom. This is drawn from our experience of developing Factom libraries and working on the on-chain voting protocol and the FAT protocol. We are very happy with the reception it got and will produce more in the future.
  • We have been finalizing version 1.0 of factom.js. A Release Candidate version is already available for download and we now have a full online documentation. The official 1.0 release should happen within the next few weeks and will be the results of months of refinements and feedback from users.
  • We worked on a factomd issue. This is worth a look to see a good example of community cooperation: the feature request was made by an ANO member, we proposed to take on the task and Factom Inc. employees answered to our questions to facilitate the implementation. The feature will be available in the next release of factomd. Speaking of contributions to Factom software, if you haven’t seen Factom Inc. November technical update, all the “community contribution” mentions here were made by Luciap Technology 😉
  • We have been working on an update of our Factom identity JavaScript library to support the upcoming digital identities on Factom developed by Factom Inc. We based our implementation on the current specification and we already used it in the on-chain voting system and the FAT wallet. This update will be released once Factom Inc. themselves release officially the new version of factom-walletd supporting those digital identities. The documentation of the updated version is available online.
  • We published a version 0.2 of the factom-identity-cli. This brought UI improvements and some warnings about some common issues that can happen when using the tool (clock synchronization).
  • We have been doing support for the ongoing on-chain grant. We have tweaked our JS voting library to help the integration in the MyFactomWallet UI.
  • Core and code deployment committee: we reviewed the initial proposal of the Factom Improvement Protocol (FIP) produced by Niels Klomp.

We wish you all a great holiday season and we are looking forward for another prolific year of Factom development! See you in 2019!

August & September update

  • The work on the Facton on-chain voting grant has been what has keep us the most busy during those 2 months. We actively participated in the writing of the final version of the specification that can be found here. Luciap is also responsible for the implementation of the spec in JavaScript and you can find the code repository here. By the end of this week the full implementation will be available. This library will be in particular used in the MyFactomWallet website to create and sign vote entries in the browser. For a general update on the on-chain voting grant and the rest of the work being done by the other parties involved, please have a look at the forum thread with the updates of our sponsor.
  • We extended our tool factom-identity-cli to allow the submission of coinbase cancel messages. Until then there was no existing tool to trigger this functionality of the Factom protocol.
  • We organized a coinbase cancel exercise on the testnet in real conditions. The exercise was successful in the sense that enough ANOs participated and we managed to cancel a coinbase output. But it also highlighted a bug in the protocol regarding the threshold at which the coinbase cancel is effective (1/4 of the authority set instead of 1/2).
  • We released version 0.3 of factom.js in August (at the time we speak we are at version 0.3.5). Version 0.3 was focused on the utilization in a web browser with a work of optimization on the dependencies of the library to make it lighter, among other things.
  • We reviewed the technical design and API definitions of the identity and standing parties functionality being developer by Factom Inc.
  • Active participation in the discussions of the “Core and code deploy” committee.