REPORT | Q2 2019

Previous Updates
Secured
6.jpg
Friday 30th November 2018
Factom Authority Node Operators: De Facto, Bedrock Solutions, CryptoVikings and The Factoid Authority — are proud to announce the availability of Factom Open Node!

→ Press release (Reddit, De Facto blog)

This effort is backed by a Factom Grant — Factom Courtesy Node System

De Facto's pledges in this project:
  1. Development of integration with Cloudflare API
  2. Stalls & timeouts monitoring solution, which automatically enables/disables nodes in the pool
  3. Status website (https://factomd.net) development
  4. Setup of cloud load balancer & firewall (w/ Bedrock Solutions)
  5. Load balancer support (w/ Bedrock Solutions)
Secured
Hello community!
We decided to put our recent press releases together into this update and report about our current activities.

1) Our first customer is onboarded on Factom mainnet
The customer uses Factom to store immutable logs of own servers (data servers & surveillance system servers). Factom® Enterprise API, provided by De Facto, is used for writing and validating entries into multiple chains on the Factom blockchain.

Press release on Reddit:
https://www.reddit.com/r/factom/comments/ain2t0
2) We introduced our open-source LoggerHead project
Initially we wanted to name it WatchTower, but decided to rename it to LoggerHead to not conflict with this & this WatchTowers.

Press release on Reddit:
https://www.reddit.com/r/factom/comments/ain51f
Infographics:
ua0vecwotjc21.png

LoggerHead project progress:
1. We released private beta-version, that allows to collect logs from any Linux & Linux-based servers (which used by NAS manufacturers) and write it into Factom chain.
2. To keep it lightweight, we decided not to store logs internally into LoggerHead.
Instead, logs will be read directly from the blockchain & decrypted in the UI.
3. After Open API release, the Open API client will be integrated into LoggerHead to read & search data in the chains.
4. Then LoggerHead solution will be published as open-source under MIT license.

1551856678112.png

3) We pitched Factom in Russian Innovation Center Skolkovo
In February we presented Factom protocol and discuss it with experts in Skolkovo.
Our aim is to start utilizing Factom Blockchain in the Gov and commercial products advocating for it's usage via Skolkovo.

According to the Skolkovo rules, any tech-company may become Skolkovo Resident or Skolkovo Partner.
To become a resident, we have to be an inventors of the Protocol, and as Factom Authority Node Operator, we can not be a Resident.
To become a partner, we need to grow up to the medium-size company, have enterprise client onboarded & significant BaaS/integration income.

Skolkovo agreed on unique advantages of the Factom Protocol and they wait us to submit as a Partner in future, when we become bigger.
We will continue working to get into Skolkovo as a Partner.

4) Current activities

4.1) Factom Open API
We were awarded to develop Factom Open API — open-source REST API for Factom blockchain.
We started to develop it in February, before grant payout.
The development is in active phase right now, and I may share, that we are going to develop some additional features, that were not described in the initial grant proposal:

A. Open API will be integrated with Swagger standards, that means:
— Open API documentation will be generated automatically using Swagger, and in the future, when API will be updated, the documentation will be updated automatically as well
— Open API REST clients (for JS, Go, PHP and etc) will be generated automatically using Swagger

B. Open API design allows to have multiple endpoints and a single API database, that means:
— You may setup a load balancer for connecting multiple Open API endpoints together (increasing stability of your server), and connect them to the remote or cloud Postgres database.

API is being developed on Golang, so community developers may join the project in the future.

The detailed update for this grant will be provided later by our sponsor Jay Cheroske.

4.2) Factom Open Node Enhancement
De Facto and Bedrock Solutions are debugging factomd behaviour to create a robust design of monitoring algorithm of Open Node.
Additionally, we are exploring libraries for creating decentralized monitoring system, where 2 or 3 monitoring servers will work in consensus to detect Open Node Pool's nodes states.
The detailed update for this grant will be provided later.

4.3) Second client into pipeline
Our second client tested LoggerHead solution and waiting till it will be ready to start using it.

4.4) Singapore-located Factomd node will be pledged to Open Node Pool
We setup and run Factomd mainnet node in the Asia region (Singapore).
Right now, the node is used for test & development purposes, but after both Open API & Open Node Enhancements grants will be completed, we will pledge our Singapore node into the pool of Open Node and continue to maintain it — free of charge.

4.5) Factomd bug found
While exploring factomd behaviour for Open Node grant project, we found a bug into factomd (both in current mainnet 6.2.0 and the latest 6.2.1-rc2).
We explored it, created a GitHub issue with detailed description and the screen recording.

4.6) Factom lib exploring
While developing Open API, I continue exploring Factom lib, functions and data structures.

5) Efficiency
We continue operating at 35% efficiency.

As many other developer ANOs, we will revise our efficiency quarterly, starting from the next quarter.
That doesn't mean we will change efficiency on the 01/04 or 01/07.

As a startup, there are a lot of conditions that we have to take into account, including hiring additional developers or sales, FCT market conditions, our activities and commitment to the protocol and etc.

I know, that De Facto pledged to operate at 35%/25% in our ANO application, but there are a lot of things, that rapidly change. Many ANOs pivoted from their initial pledges and it's not bad — on the contrary, we, Operators, have to be flexible to any changes, look for growth points and develop/promote/use the protocol.
Secured
We are proud to release the first version of Factom Open API!

Factom Open API is a lightweight REST API for the Factom blockchain. It connects to an existing factomd node and has a built-in Factom wallet that will handle signing data before writing it to the Factom blockchain.

GitHub: https://github.com/DeFacto-Team/Factom-Open-API
Documentation: https://docs.openapi.de-facto.pro

open-api-readme.png


--
Main features
  • Instant start: use Open API immediately after installation
  • Write data to the blockchain at a fixed cost ($1 for 1000 entries of 1 KB)
  • BaaS-ready: user-based API access, counting usage, limits
  • Read all chain entries at once using a single request (no need to read all entry blocks of chain one by one)
  • Search chains & entries by tags (external IDs)
  • Pagination, sorting, filtering results with query params
  • Generic factomd interface: all factomd API requests are supported via special REST path

--
API Reference

Documentation
Methods

--
Installation
You can run Factom Open API in 2 different ways:
  • as Docker container
  • download binary and run it manually

--
Factom Open API design

1. Background fetching
Factom Open API does not store all chains of the Factom blockchain in its local database. Instead, when you start working with a chain using any request (get entry of chain, get chain info, write entry into chain, etc...), the chain is fetched from Factom in the background.

All fetched chains are stored in the local DB, and new entries are added automatically in minute 0-1 of each block.

This allows Factom Open API to be used immediately after installing without a long syncing period with Factom blockchain. It is not designed for applications which require all chains, blocks and entries - e.g. a Factom Explorer.

2. User's chains
A great advantage of Factom Open API is binding chains to API users. This binding is stored locally in the Open API database. It's possible to show users their chains, including ones the user created and all chains that the user has worked with (write, read or search).

This way API users may search their specific chains by External ID(s) instead of searching the entire blockchain.

--
Swagger support
Following of the Swagger spec was not be a part of the initial grant proposal, but we decided to develop it in order to provide more clients in different languages, using Swagger auto-generated clients.
Right now Open API follows Swagger 2.0 specification.

--
Auto-generated clients
Auto-generated clients are in beta and don't support base64 auto-encoding/decoding.
We are going to upgrade from Swagger 2.0 to Open API 3.0 specification in the next minor version and improve auto-generated clients.

--
Support
Factom Open API is open-source project.
Support available @ De Facto's Discord: https://discord.gg/zgq78Bc

--
A few words about sponsors
Jay, David & Alex from Bedrock Solutions were not just sponsors of this grant project – they actively participated in all discussions of Factom Open API design solutions, suggested a lot of ideas and improvements to design and helped us with testing and Docker packaging. De Facto highly rated Bedrock Solutions as a sponsor and a contributor and we will continue to work together on further Open API updates.

--
What's next?
We are going to further improve Factom Open API, add new functions and clients.
Here is the roadmap of the project development:
  • Swagger upgrade
    • Upgrade support of Swagger 2.0 → Open API (Swagger) 3.0
    • Improve auto-generated clients (add base64 auto-encoding/decoding inside clients)
    • Create, test and publish more auto-generated clients (Swagger 3.0 required)
  • New endpoints
    • Multiple /admin endpoints to manage Open API instance, settings and API users
    • /queue endpoint to check Open API write-queue via API endpoint
  • Admin WebUI
    • A web-interface for managing Factom Open API
    • Change Factom Open API server settings
    • Manage API users, limits
    • Queue, Chains, Entryblocks, Entries viewer
    • Logs viewer
    • Auto-generation of Es/EC keypair (no need to generate EC via wallet)
  • Callbacks
    • Allow API users to create and receive callbacks for different actions endings (e.g. receive callback, when new entry processed on blockchain)
    • Admin's permanent callbacks / notifications (e.g. when EC balance is lower than X)
  • Factom Identities
    • Factom Identities support (2nd layer)
    • /identity endpoints inside Open API to work with Factom Identities
  • GraphQL API
  • Websockets
  • Security
    • Auto-SSL with Lets Encrypt
  • Test coverage
  • Factom Open API marketplace
    • A directory of apps using Factom Open API
Secured
A little late we are publishing our Q1 2019 report.
This report includes activities from Jan 1 till Mar 30 2019.

9.jpg
Full report:
https://de-facto.pro/blog/report-q1-2019

Highlights:
  • Factom® Enterprise API launched
  • First client onboarded (150-300K txs annually)
  • Introduced LoggerHead — an open-source immutable security logs solution for Linux-based servers & NAS
  • Public open-source version of LoggerHead will be released in May 2019
  • 2 grant projects were awarded to develop
  • Continue maintaining Open Node
  • Pitched Factom in Russian Innovation Center Skolkovo
  • Visited legal-tech workshop in Samara, Russia
  • Core development: 4 issues regarding factomd created on GitHub (1 bug, 3 improvements)
  • Grant tracking system & its design were suggested during discussion with ANOs
Efficiency:
As FCT price raised, we decided to continue working with 35% efficiency.

Factom Open API plans:
We have a lot of plans regarding Open API project and I want to clarify what are we going to do, when and how.

We are working on the following improvements using our ANO income:
— Make Open API follow the Swagger Open API 3.0 specification (instead of Swagger 2.0 right now)
— Improve Open API auto-generated clients
— Generate more clients in different languages
— Provide test coverage for Open API (thanks @Paul Bernier & @Alex for pointing this)
— Create a marketplace (separate website or section on Factom Protocol website) of open-source and commercial apps, built using Factom Open API
(not Open API project, but was pledged during grant campaign) Create and make open-source the LoggerHead solution — and it will be the first public app, utilizing Open API.

We will apply for grants in order to develop the following improvements:
— Development sprint 2: new endpoints (/admin & /queue), admin control panel (Web UI), Callbacks
— Support of Factom Identities
— Development sprint 3: GraphQL API, Websocket support
Secured
  1. We are lowering our efficiency to 20%

    De Facto has being dedicated enormous efforts for the benefit of the Factom for more than 1 year — even from the time when we haven’t been an ANO.

    * We have launched:
    Monitoring tools for Testnet
    — Entry Credit Stores (press release)
    — Factom Robot on Telegram (press release)
    — Open Node (press release)
    — Our BaaS flagship solution — Factom Enterprise API (press release)
    — And, of course, Factom Open API (press release)

    * We have 1 medium-size client onboarded and continue working on attracting new clients and onboarding them.
    Since May we change the strategy and dedicate more resources to sales and marketing (see below for more details).

    * In addition to all development works, De Facto has actively participated in most of governance discussions, votings and elections.

    * Since May we have also started working on improving of Factom Protocol Website as a part of Website Committee.

    * There are our quarterly reports:
    Q3 2018 report (covers September 2018 only)
    Q4 2018 report (October — December 2018)
    Q1 2019 report (January — March 2019)

    We decided to lower our efficiency to 20% on May 23.
    Additional FCT revenue will be put towards expanding our team and onboarding new team members — see below for details.

  1. Business update

    We decided to focus on the following activities:

    Integrate Factom into existing mass-adopted software via partners (in addition to direct negotiations & onboardings of clients)
    Reach large corporations via business accelerators (incubators)
    Get incorporated in second jurisdiction to start working with Europe & US
    Continue developing & supporting open-source and community projects: Factom Open API, Open Node, Testnet Monitoring, LoggerHead, Factom Name Service and etc.
    Improve, maintain & translate Factom Protocol Website instead of creating a separate website for Russian community

  2. Team increase

    We have started (and continue) increasing our team to grow faster and provide more usage, clients and products for the benefit of the Factom:

    1. Sales manager was hired recently to pitch Factom to Russian enterprises and partners
    2. We are interviewing full-time backend developer (web/software) to help us with all current works and launching new landing for Russian clients. Additionally, I will probably put his skills into Website Committee works.
    3. Our support manager (for clients) continues working part-time
    4. We are considering about hiring full-time Golang developer to work on Factom Core (grant funding)


  3. Work with international clients and partners

    We want to start working with international clients and partners within 1 year and actively exploring the options of being additionally incorporated in the second jurisdiction.


  4. Open-source and community projects

    We are going to consistently continue developing open-source products on top of Factom.

    The most important project is Factom Open API – we recently provided the Factom Open API roadmap and part of works in the roadmap will be made from our ANO income (not grants).

    Factom Open Node decentralized monitoring is half-way done — factomd improvements, required for implementing new monitoring, was scheduled in the one of next releases of factomd.

    LoggerHead — tamperproof logging solutions — will be released within next few weeks and we are going to work with Marketing Committee in order to promote it.

    Factom Name Service was initially proposed by us in November, but it requires more formal specification (FIP) and Identities support, which I hope will be released soon. After this we are going to work with other ANOs on more formal specification and implementation of Name Service.

    Factom Testnet Monitoring is being refactored to collect more data via diagnostics API.

    Additionally, we have a trump card up our sleeve and a secret open-source project (and also free to use) will be launched soon — in order to promote Factom protocol among Apple users.
Secured
Factom Testnet Monitoring has been upgraded to v2.
Screenshot 2019-05-20 at 12.38.15.png

Release notes:
1) Moved from control panel parsing (8090) to factomd API parsing (8088)
2) Continuous parsing — nodes heights & diagnostics info are being updated every 40-60 seconds
3) Additional data collected — current-minute, leaders/audits list
4) Debug API console — send debug API requests to any online testnet node via GUI
5) UI improvements: table sorting (by node name, role, height, hardware params and etc.), geolocations, copy info by click (identity chainIDs, auth set)
Secured
Hello community!
We have 2 great news:

--
1. Today we pledged our Singapore factomd node into Open Node pool (free of charge).
Node in the Asia region will increase stability and bandwidth of Open Node – as well as decrease latency for asian users/servers.

1558534614345.png


--
2. Open Node has processed 5,000,000 requests from 388 IPs within last 7 days – it's a new record of Open Node usage.

1558534721443.png


About Open Node:
Factom Open Node is a public, decentralized, load balanced factomd-node which provides an API to interact with the Factom blockchain protocol. It is an alternative to hosting and maintaining your own factomd-node.
https://factomd.net
Current Update: REPORT | Q2 2019
Secured
#1
11.jpg

Hello community!
We are proud to report our contributions to the Factom Protocol in Q2 2019.

Full report available here:
https://de-facto.pro/blog/report-q2-2019

Highlights:
  1. Development
    1. First version of Factom Open API released
    2. Fct.tools (Factom Testnet Monitoring) upgraded to v2
    3. Factom Open Node Enhancement — 60% ready
  2. Integrations/clients
    1. We have received RFP for blockchain integration into Gov entity’s software. Working on Factom usage demo for this project.
  3. Business development
    1. Working on new BaaS platform, launch in July
    2. New sales partner in Russia
    3. Continue exploring different industries to disrupt its business processes with Factom
    4. Additional incorporation explored
  4. Core development
    1. We convinced an experienced developer with 10+ years of experience to join Factom
    2. We are going to onboard him as a core developer from September using grant
    3. Michael has started to explore Factom lib & factomd core code in advance before being onboarded
  5. Marketing
    1. Leaded Factom Protocol Blog Development
    2. Participation in AMA
  6. Infrastructure
    1. Improved Open Node by pledging first Asia-based (Singapore) factomd node into pool
 
Last edited: