Search results

  1. Who

    Decentralized ANO Management

    As indicated in my recent update, I built a prototype for decentralized ANO management, as described in my blog post on the subject. I'm happy to report the prototype is working, though it is not ideal for deployment yet. The Network Control Panel (NCP) is a standalone app with a web interface...
  2. Who

    P2P2 Reviewers Wanted

    Dear Community, I have now reached the point where I have implemented everything I wanted to for the first release of p2p2. The package has already withstood its first firetest, running with next to no problems on the testnet for several weeks. Before we continue integrating this into a factomd...
  3. Who

    Factomd 6.5.0 P2P2 beta test

    It's time for the first public test of factomd 6.5.0 with p2p2, a rewrite of the p2p2 protocol with the CAT mechanism enabled. You can read more about CAT in my blog post but the general idea is this: The structure of factom's p2p network revolves around central servers ("seed nodes") that...
  4. Who

    Logging in Factomd

    Factomd is able to produce a vast quantity of logs to aid in debugging, information, and filling your harddrive. Getting to them is a different matter, as there are multiple different loggers. standard out and standard error log You can already pipe the stdout/stderr of factomd to a file via OS...
  5. Who

    Explanation of Messages (IMsg)

    This one is overdue: detailing what exactly system messages ("IMsg") do. These are the missing links that tie the functionality of the channel diagrams I've posted together. Combining both of them should give you a pretty good overview of how the factomd node works internally. All IMsgs, from...
  6. Who

    Consensus Channel Diagram aka ValidatorLoop()

    I have to admit, this one did not turn out the way I wanted it to. The validator loop is the beating heart of the factomd node, responsible for keeping the consensus mechanism going along. It receives messages from the network, executes them, updates the state, updates the VMs, runs the VMs...
  7. Who

    Glossary

    There are a number of terms that I stumbled over when reading the code for the first time, so I want to build a glossary of terms and what they mean in relation to the code. If you have anything to add or correct please do. Disclaimer: I'm going to assume that you're already familiar with the...
  8. Who

    Miscellaneous Channel Diagrams

    In my search for all the Golang channels, I stumbled across several that were their own independent ecosystem and would just add clutter if included in the bigger diagrams. They're less interesting in terms of relevancy to the protocol but still an important function inside the code. This...
  9. Who

    Factomd P2P/Network flow diagram

    This was one of the areas I was struggling to understand for quite a while and it wasn't until I was 90% done with this diagram that it finally 'clicked' what the difference between P2P Peer, Peer, and SimPeer is and where to separate program from network messages. I'll try my best to relay...
  10. Who

    Factomd Overview

    One of the major goals of me learning the core codebase is leaving behind as much documentation of my process as I can. These documents, blogs, graphs, whatever are meant to help the next person to come along. The first diagram I made for this endeavor is a very broad overview of the elements...
  11. Who

    factomd major process flow

    First of all, I'd like to apologize to everyone that has to look at this enormous, messy diagram. Now that that's out of the way, it's time for my second publication: an attempt at a broad look at the processes running in the factomd node. It's the result of several days of reading the source...
Top