Have you ever wondered what is being published into the Factom Blockchain? With the redesigned Factom Blockchain Explorer, you no longer have to, you can view it yourself!
The updated Explorer built upon Factom Harmony’s technology stack is designed to interact with data published on the Factom Blockchain. It’s easier than ever to browse the Factom Blockchain, test and debug when adding entries into the system, track changes of document ownership and keep records of digital assets. As expected, all Factoid transactions and Entry Credit Balances can also be viewed and verified. The updated Explorer allows for a better understanding of how the Factom Blockchain is optimized for complex data beyond coin transactions.
We are going to walk through the updated Explorers terminology, the purpose of each function, and describe some of the new features. While this may be old hat to some long time followers of Factom, we value the continual education at all knowledge levels in our community.
Let’s start with the basics.
Where do you find the Factom Explorer?
You can find the new Explorer at: explorer.factom.com
What is an explorer?
Blockchain explorers are an industry standard for any blockchain protocol. The Factom Explorer is an online browser which displays the contents of Factoid and Entry Credit addresses, blocks, chains, entries, timestamps and transaction IDs.
Why are explorers useful?
While the majority of data is retrieved from a blockchain via APIs, an explorer allows viewers to peruse data manually. Using an explorer allows the viewer to check their FCT or EC balances without having to make API requests. For those working with the Factom API’s, the Factom Explorer acts a debugging tool to view entries and chains.
What are Directory Blocks?
The Directory Block functions similar to the way a header does in a Bitcoin Block; it provides context for everything that is to follow. They are created every ten minutes and contain the hashes of all Entry Blocks created within that period. In addition to this information, this block actually contains several smaller blocks. Within each Directory Block is an Admin Block, an Entry Credit Block, a Factoid Block, and several Entry Blocks. The descriptions of these component blocks can be found below.
Entry Blocks: When entries are being packaged by the Federated Servers, they are arranged by whatever chain they belong to and an Entry Block is born. Entry Blocks can contain any non-zero number of entries. The only limit is that each entry within must be a part of the same chain. The Merkle Root of each of these entry blocks is stored within the Directory Block that is created at the ten minute mark. Entry Blocks are where the magic happens in the Factom world.
Admin Block: Contains the signatures and organizational data associated with validating Directory Blocks.
Entry Credit Block: A package of Chain Commits, Entry Commits, and EC balance increases over a ten-minute period. This package is structured in the order that they were received by each Federated server. All the Federated servers contribute to the building of the EC Block.
Entry Credit: Entry Credits are required to post entries and chains onto the Factom Blockchain. They can only be used by the address that hold them to create entries on the Factom Blockchain.
Factoid Block: Like Bitcoins, Factoids can be sent from one wallet to another with the proper signatures. When this happens, those transactions end up in the Factoid Blocks. These blocks contain the inputs, outputs, timestamps, and IDs of every factoid transaction across the network. Unlike on the Bitcoin Blockchain, they aren’t required to carry additional information about the rest of the chain since they sit under the Directory and Admin Blocks which handle those essential functions.
Height: This refers to block height. The height of a block is the number of blocks in the chain between it and the Genesis Block. The Genesis Block being 0.
Start Time: When the Directory Block originated.
Key MR: A Key Merkle Root is a data structure which allows for rapid validation of a header. This unique structure combines the Merkle Root of a block with the hash of the header of the same block. This way you can validate the header and the block data using just one value. Much in the same way that the Merkle Root in the header of a Bitcoin block can prove Bitcoin transactions, the entries of a block can be validated by the Key Merkle root.
Admin Entries: A single entry on the Admin Block. These entries can vary in size and scope, but they generally represent messages that were processed by the Federated Server that handled the block. But we’re not talking text messages… these are signatures and hashes that are critical to keeping the Factom network running smoothly. Each entry is prepended with an AdminID byte which helps to define the data that follows.
EC Entries: An entry that denotes the spending or creation of Entry Credits by Factom users.
Factoid Entries: An entry on the Factoid Block. This generally represents a single faction transaction. Each transaction is signed by the private key of a proud Factom Wallet holder.
Entry: A single data submission made by a user. Each entry is made within a chain. An entry is restricted to no more than 10kb in size and requires an Entry Credit for every 1kb of data.
Factom Chain: A Factom Chain is an immutable chain of entries. As in any blockchain, each entry of a chain contains the hash of the entry before it. This means you cannot change an entry without changing or invalidating every entry that follows it.
What can you search by in the Explorer?
Options to search by Block Height, Hash, Key MR, Chain ID, Transaction ID and Address are currently accessible.
Chain ID: A Chain ID in the Factom protocol is a string that refers to a single chain of entries.
External IDs: External IDs allow Factom users to attach tags to any data that they upload. These tags can be used for a variety of identification purposes in order to help the user tell one entry or chain from another. Another common use for External IDs is to sign entries in order to validate that they were created by the chain owner or another authorized user. This can be done using an Ed25519 or similar signature made using a private key held by the chain owner.
The new Explorer is still in beta and we appreciate any feedback. You will find a feedback form at the bottom of the updated Explorer and we look forward to hearing your thoughts!