falcon

module
v0.0.0-...-f6ce140 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2023 License: MIT

README

Falcon

Falcon is a port of the official IPFS node implementation Kubo. It is one critical component of the Gateway3 project, which tries to provide a decentralized IPFS gateway alternative. The falcon node is able to run by its own and acts like a normal IPFS node. However, it needs to join the Gateway3 protocol in order to make its service accessible from the world.

Setup

Falcon checks runs against major Gateway APIs to ensure they return expected response. The checks run requires subdomain to work. However, localhost does not support subdomain by default. We use local dnsmasq service to mock the DNS for localhost resolution.

Use brew to install and start dnsmasq on MacOS:

brew install dnsmasq
sudo brew services start dnsmasq

Add the following line to /usr/local/etc/dnsmasq.conf and restart dnsmasq.

address=/localhost/127.0.0.1

Update resolver so that DNS query for domain localhost is forwarded to dnsmasq:

sudo mkdir -p /etc/resolver

Create a file /etc/resolver/localhost with content:

nameserver 127.0.0.1

How to Run

Run make under the repo directory to start Falcon node in loner mode. The loner mode is the same as prod or dev mode except it does not communicate with other Gateway3 services. In this mode, you can test Falcon's API using end-to-end checks by running make checks. The end-to-end checks report successes or failures for varioues APIs. It is recommended to run checks against changes made to node.

Run make prod or make dev to start other modes.

Directories

Path Synopsis
cmd
e2e
node
cmd/ipfs implements the primary CLI binary for ipfs
cmd/ipfs implements the primary CLI binary for ipfs
com

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL