Grant Update Factomize Core Development Grant Update (Grant Round 1, 2019)

Secured
#1
Background

Factomize applied for a core development grant for the first grant round of 2019 where our lead developer "Who" would work on the Core codebase full time. This grant was approved by the community and Who began work immediately.

Original grant proposal

We want to thank @Brian Deery and all those at Factom Inc who we've found to be very supportive during this process thus far.

Deliverables

We promised the following in our grant proposal:

- Have a full time Core developer start work immediately
- Further decentralize development
- Improve Core code and documentation
- Share obtained knowledge
- Utilize the FIP when it comes online, if viable

Work Completed

Blog Posts

- Factomize Core Dev Update 1
- Factomize Core Dev Update 2
- Factomize Core Dev Update 3
- Factom Protocol P2P: A TCP Gossip Network
- Factomize Core Dev Update #5
- Factom for Developers
- Anatomy of Factom's Addresses


Documentation

- Glossary
- Factomd Overview
- Factomd Major Process Flow
- Factomd P2P / Network Flow Diagram
- Consensus Channel Diagram aka ValidatorLoop()
- Miscellaneous Channel Diagrams
- Explanation of Messages
- Logging in factomd

Pull Requests, FIPs, Bugs, and Issues

- Crossreplayfilter Garbage Collection Termination fix
- Legibility Improvements Batch 1
- Critical bug fix (more info soon)
- Close TCP connection
- Critical bug fix - (more info soon)
- Pprof is exposed by default via control panel port
- Use peers.json file
- Docker dev environment misconfigured
- Found another major bug and provided a simple fix but also detailed a major overhaul of that portion of the code.
- Discovery.GetOutgoingPeers() algorithm doesn't work at all
- Configurable p2p incoming and outgoing flags
- Factom P2P 2.0 FIP

General

- Took part in extensive consensus mechanism discussion with other developers.
- Continues to provide support to other developers on Discord.
- Supported an exchange looking to list FCT.
- Has joined the Core Committee.
 
Last edited:
Secured
#4
March 15th

"Who" has been very busy these last two weeks. He finished up his planned documentation and we coordinated with Factom Inc (who continue to be great to work with - shoutout to @Brian Deery ) to begin tackling specific tasks, the first of which you can see a PR for below. Who also found another critical bug which we'll provide more information regarding in the future. The items below have also been edited into the first post of this thread.

Blog Posts

- Factomize Core Dev Update 3

Documentation

- Explanation of Messages

Pull Requests

- Close TCP connection
- Critical bug fix - (more info soon)

General

- Took part in extensive consensus mechanism discussion with other developers.
- Continues to provide support to other developers on Discord.
 
Last edited:
Secured
#6
April 1st

Who began work on a small project where the scope has increased substantially as, to do it right, it requires that other parts first be put in place. The project has turned into a reworking of the underlying p2p protocol. We anticipate this work taking 4-8 weeks.

The work from the last two weeks, showcased below, has been merged into the first post of this thread.

Blog Posts

- Factom Protocol P2P: A TCP Gossip Network

Documentation

- Logging in factomd

Pull Requests, Bugs, and Issues

- Pprof is exposed by default via control panel port
- Use peers.json file
- Docker dev environment misconfigured
- Found another major bug and provided a simple fix but also detailed a major overhaul of that portion of the code.

General

- Continues to provide support to other developers on Discord.
 
Last edited:
Secured
#7
Last edited:
Secured
#8
May 1st

Who continues to work on the p2p code. I am pleased to say that the standalone library he is writing has now been integrated with factomd, is connected to the testnet, and successfully syncs, which is a great sign. Who is now focusing on fine tuning the code.

The blog post below has been merged into the first post.

Blog Posts

Factom for Developers

General

- Continues to provide support to other developers on Discord.
- Is now a member of the Core Committee.
 
Secured
#9
May 15th

Who continues to work on P2P 2.0. As promised in our grant, we would utilize the FIP system when viable and Who wrote the first one for P2P 2.0 linked below. The new system is now capable of running multiple protocols at the same time, is able to connect to existing nodes, and is using a new slimmed down network format that reduces overhead (reducing the average parcel by about 25% according to early benchmarks [disclaimer: during syncing, more benchmarks to follow]). Who estimates that he is about 90% done with implementing features and is working on documentation, commenting, and testing to iron out the worst of the bugs.

The info below has been merged into the first post.

Pull Requests, FIPs, Bugs, and Issues

- Factom P2P 2.0 FIP

Blog Posts

- Anatomy of Factom's Addresses