Skip to content

FactomProject/factomd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

27c5394 · Oct 25, 2022
Feb 21, 2022
May 19, 2022
Oct 25, 2022
Jul 16, 2019
Nov 25, 2020
Oct 29, 2020
Oct 29, 2020
Dec 26, 2020
Oct 28, 2020
Feb 21, 2022
Nov 25, 2020
Nov 25, 2020
Oct 18, 2019
Oct 29, 2019
Oct 30, 2020
Oct 24, 2020
Feb 21, 2022
Dec 18, 2019
Jun 28, 2019
Oct 28, 2020
Oct 23, 2020
Oct 25, 2022
Dec 4, 2019
Nov 25, 2020
Sep 30, 2021
Nov 3, 2020
Aug 1, 2018
Oct 28, 2020
Aug 15, 2019
May 19, 2022
Nov 18, 2019
Oct 28, 2020
Oct 28, 2020
Aug 11, 2017
Oct 30, 2020
Oct 30, 2020
Sep 4, 2019
Jul 20, 2017
Dec 26, 2020
Oct 25, 2022
Feb 17, 2022
Jun 28, 2019
Nov 25, 2020
Oct 28, 2020
Oct 28, 2020
Oct 28, 2020

Repository files navigation

Factom

The Factom Era of the protocol ended on 30 Oct 2022. The the protocol continues under Accumulate Era as of 31 Oct 2022

The project repositories for the Protocol have moved to https://GitLab.com/AccumulateNetwork

Official Golang implementation of the Factom Protocol.

CircleCI

Factom is an open-source blockchain project designed to store structured data immutably at a fixed cost. Data integrity verification is one of the many uses cases the protocol excels at. The Factom Protocol represents opportunities for businesses, governments, and other entities to record and preserve their data in an immutable and cost-efficient way. Visit the Factom Protocol website for more information

Community

Connect with the community through one or more of the following:

WebsiteDiscordTwitterRedditYoutube

Getting Started

Running a node with docker

Factomd releases include docker images that can be pulled from the official repository: https://hub.docker.com/r/factominc/factomd The alpine version is strongly recommended.

For instance to run the latest master build for mainnet:

docker run -d --name "factomd" -p "8088:8088" -p "8090:8090" -p "8108:8108" factominc/factomd:master-alpine

Build/install factomd

You will need the following software installed on your machine:

  • git
  • A recent version of Go (supporting Go modules)
  • make
git clone https://github.com/FactomProject/factomd
cd factomd
make
# or `make install` to install factomd into GOBIN folder

Also make all cross compiles factomd for various platforms.

Running factomd

Factomd can be run with default configuration with this simple command:

$ factomd

The default factomd folder is located at ~/.factom/. The node database is stored by default at ~/.factom/m2/<network type>-database.

Configuration

Factomd will run with a set of default configuration. Those can be altered in two ways:

  • By passing flags when running factomd. Run factomd --help to get the list of supported parameters.
  • By editing a config file. See factomd.conf for an example of such file. Note that this config file is also used to configure factom-walletd.
mkdir -p ~/.factom/m2/
cp factomd.conf ~/.factom/m2/

Default ports

Service Port
JSON-RPC API 8088
Web UI 8090
P2P 8108 (MAIN net), 8109 (TEST net), 8110 (LOCAL net)

Running factomd for local development

To get a local development node running:

$ factomd --network=LOCAL --blktime=60

Note that the blocktime here is set to 60s (instead of the regulat 600s) for the convenience of development. Head to http://localhost:8090 to see the Web UI of your local node.

On a LOCAL network, the address FA2jK2HcLnRdS94dEcU27rF3meoJfpUcZPSinpb7AwQvPRY6RL1Q comes pre-loaded with Factoids that can be used for your testing as the associated private key is known: Fs3E9gV6DXsYzf7Fqx1fVBQPQXV695eP3k5XbmHEZVRLkMdD9qCK.