Short Term Review
One of my worries with my approach to learning the codebase (see previous blog posts one and two) was that I might not be able to transition well from a theoretical reading and analyzation of the code to being able to write new code, which if you’re familiar with development, are two very separate concepts. It hasn’t been seamless but I’ve had some time to reflect since then and I would consider it to have worked pretty well.
That said, I haven’t talked the other core devs about how they have been faring. It would be nice to hear from others about this topic.
Update on my status
For a while I worked on odds and … Read the rest
Let’s take a closer look at Factom’s p2p protocol.
Factom uses a Gossip protocol for all messages, which is a very simple protocol with a wide variety of applications. One of Factom’s main priorities is creating a censorship-resistant environment and Gossip Protocols have characteristics that aid in that regard. More on that later.
The p2p code is implemented entirely inside factomd with no external libraries. If you’re already familiar with Gossip Protocols and just want a brief overview, these are the specifications of the network:
- Seeded with a list of 10 softcoded ips
- Fanout of 16 (with optional max fanout for some messages)
- Outgoing count of 32
- Incoming count of 150 (no NAT traversal)
- Push approach (mostly
… Read the rest
It feels good to be able to say: I finally understand how factomd and the factom protocol works.
After almost forty calendar days, I have reached a point where I’m comfortable with the internal processes of the code. It’s not a perfect mastery, that will likely take years to achieve, but it’s enough to know how all the pieces fit together, how changing one impacts the others, and most importantly of all, where to look to find out more.
To recap what I have been doing: instead of diving into the code by trying to implement something and learn by doing, I wanted to understand how everything works first and in the process create documentation. It’s a departure from the … Read the rest
The Factom Open Node project is a decentralized, load balanced factomd-node located at factomd.net which provides an API to interact with the Factom blockchain protocol. It is an alternative to hosting and maintaining your own factomd-node. The infrastructure is currently provided by five different Authority Node Operator companies. I met with Jay Cheroske of Bedrock Solutions, one of those providers and asked him a few questions.
How can developers utilize the Factom Open Node?
Factom Open Node is a free factomd API endpoint developers can use to read and write to the Factom blockchain. By using Factom Open Node, in lieu of running their own servers, developers can get started right away with no additional costs. In keeping with the … Read the rest
What’s the best way to learn a new codebase? That’s a question I have asked myself many times leading up to this project. I’m used to working in already established areas, like Symfony, Node.js, vBulletin and XenForo systems, that have vast and readily-available documentation, whether it’s from the original developers or user-generated. This is the first time I went delving mostly blind.
This is roughly the process I laid out for myself:
- Get accustomed to working with the product
- Gather all available documentation
- Read code
- Attempt to explain my understanding and have that reviewed by the experts
This happened over the span of a couple of months as I worked on procedural solutions for the Factomize forum, including … Read the rest
Five months ago, when I was rehired by David Chapman, I’ve never done any work with blockchains or Golang. I was familiar with the basics of the technology, but nothing intricate. It feels like years ago already. The goal from the start was to eventually end up doing core development but the path to get there was very steep.
At first, it was just reading the Factom white paper and learning Golang while working full time on the Factomize forum, then figuring out how to set up a developer sandbox for my own testing. Some of the solutions for the forum required me to become familiar with interacting with the blockchain via factomd, and so I became familiar with how … Read the rest
I sat down with Julian Fletcher-Taylor, the CEO of DBGrow Inc, the company that created the Factom Asset Token (FAT) Protocol for a Q and A. They, in conjunction with the Factom Protocol Authority Node Operators Luciap and Canonical Ledgers are building the protocol which is currently in early beta testing.
What is FAT?
The Factom Asset Token (FAT) Protocol is an open source tokenization protocol built on the Factom blockchain that is efficient, modular, composable, and extensible allowing developers to utilize broad functionality to meet their specific use case. FAT is built around a set of open source standards that establish a pure-data tokenization implementation directly within the efficient entry chain structure of the Factom Blockchain.
FAT tokens are … Read the rest
The final scores are in, and the first grants of 2019 have been awarded by the Standing Parties of the Factom Protocol. More than $750,000 worth of FCT at current prices will be disbursed. The grant recipients in order of score are:
- Factom Inc Protocol Development Continuation – Covers a couple month gap where Factom Inc did not receive compensation for the Core development work they were performing.
- Factomize Core Development – Factomize LLC’s lead developer will work on Core full time.
- Factom Inc Protocol Development – Factom Inc’s Core development efforts will be funded for an additional three months.
- FAT Protocol Development – Development of the Factom Asset Token (FAT) Protocol was funded for an additional three months. Learn
… Read the rest
October was an extremely busy month for Factomize and we’re proud of the work we’ve done.
Factomize has been hard and work designing and developing a series of software modifications that will improve the transparency and efficiency of Factom Governance. These include:
– Polling Improvements – This modification allowed for Guide and ANO only votes and created a means for inputting a specific number in a poll which will be used in the current grant round to rank votes.
– Timed Permission System – The Timed Permission system is a moderated discussion system for “Minor” and “Major” discussions. We found we needed to standardize discussion and vote lengths and this system does that while also implementing Robert’s Rules … Read the rest
As we wrote our August update approximately one month ago, we found ourselves frustrated. We were frustrated because, as an infrastructure ANO, we didn’t feel like we were contributing in an optimal manner as we have specialized skills that can help further the Factom protocol. As a result, on September 2nd, we wrote this thread where we shopped around the idea of becoming a development ANO. The reception was warm enough that we decided to proceed and on September 10th we posted our project development thread and began work. We anticipate most of our early projects will focus on improving the efficiency and transparency of Factom governance via the Factomize forum. The first project we delivered was our “Custom … Read the rest