• Stars
    star
    201
  • Rank 193,331 (Top 4 %)
  • Language
    Go
  • License
    Other
  • Created about 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Factom Daemon

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:

Website â—¾ Discord â—¾ Twitter â—¾ Reddit â—¾ Youtube

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.

More Repositories

1

FactomCode

Factom Servers begin by providing proof of existence services, but then move on to provide proof of existence of transforms. A list of such entries can be thought of as a FactomChain. A FactomChain can be used to implement private tokens, smart contracts, smart properties, and more.
Go
219
star
2

FactomDocs

Repository for the documentation for Factom
Python
97
star
3

factom

Library for writing Factom clients in go
Go
44
star
4

EthereumAPI

Ethereum API in Go
Go
32
star
5

distribution

This repository holds the latest versions of Factom
30
star
6

go-bip44

A BIP0044 implementation in Go
Go
26
star
7

factom-api

Python client library for the Factom API
Python
19
star
8

factom-cli

CLI to interact with factomd and factom-walletd
Go
15
star
9

factom-walletd

Server for the factom wallet web service api
Go
14
star
10

enterprise-wallet

This is the GUI wallet compatible with M2
Go
11
star
11

factoidpapermill

This program creates Factoid addresses and private keys that can be run offline pand printed to paper wallets.
Go
8
star
12

factomexplorer

CSS
7
star
13

factoid

The token that drives Factom
Go
6
star
14

walletapp

Factom Wallet App WebGUI
Go
5
star
15

Testing

Holds tests and testing reports for Factom
Go
5
star
16

javaAPI

This is a java api to interact with fctwallet and factomd.
Java
5
star
17

serveridentity

Server Identity Management Application
Go
5
star
18

gobundle

Provides a tool & API for bundling resources with Go
Go
5
star
19

gocoding

Go
4
star
20

dynrsrc

Go dynamic resource updating using howeyc/fsnotify
Go
4
star
21

ptnet-ZKP

Zero Knowledge Proof for Petri-Nets using the circom language
Shell
4
star
22

factomd-testnet-toolkit

Python
4
star
23

fctwallet

Go
4
star
24

genkeypair

Generate a public/private keypair
Go
3
star
25

addservermessage

Simple cli program to assist in sending addserver messages
Go
3
star
26

WorkItems

factoid
3
star
27

factomproject.github.io

CSS
3
star
28

walletapp2

milestone 2 updates for walletapp
Go
3
star
29

GUIWallet

A Factoid wallet with a GUI
Go
3
star
30

keymaker

Go
3
star
31

cli

Go
3
star
32

fctwallet2

milestone 2 updates for fctwallet
Go
3
star
33

swapi

Elixir
2
star
34

communitytestnet

Work related to community testnet
Dockerfile
2
star
35

factomd-authority-toolkit

Python
2
star
36

factom-cli1

This is a mirror repository of milestone 1 factom-cli for historical go get
Go
2
star
37

FEREntryCreator

This is a simple cli application
Go
2
star
38

factom-cli2

This is a mirror repository of factom-cli m2 branch for go get
Go
2
star
39

ptnet-eventstore

Smart contract protocol constructed using pflow Petri-nets
Go
2
star
40

factoidGenesisManager

This program helps users make factoid public/private keypairs
Python
2
star
41

FactomSimpleGUI

Simple Java Application to add Entries to the Factom Blockchain using an existing funded Entry Credit address
Java
2
star
42

walletmgr

General utility tool for factom wallet functions
Go
2
star
43

pricemessenger

This creates an oracle message to coordinate factoid block creation
Go
2
star
44

goleveldb

This repository originates from syndtr around Aug 2014
Go
2
star
45

CarvoyantDummyCode

A quick demo on factomizing car logs using carvoyant api. This demo is not able to be run without a carvoyant account setup, and just used for a quick demo.
Go
1
star
46

docker_fctwallet

Dockerfile and associated build support for a Dockerized fctwallet
1
star
47

docker_factomd

Dockerfile and build support for a factomd docker container
Shell
1
star
48

java-identitykeys

Allows you to implement Factom identity keys in Java.
Java
1
star
49

electiontesting

Go
1
star
50

serializeCheck

Verify serialization of factom objects
Go
1
star
51

python-identitykeys

Tools for using Factom identity keys in Python
Python
1
star
52

EthereumPlayground

Test playground for random Ethereum scripts
HTML
1
star