PFS(Photon Path Finding Service)
PFS will be a Photon supporting function server written in go.
Installing PFS
- A cluster of individual components, dealing with different aspects of the Photon protocol.
Requirements
- Go 1.8+
- Postgres v10.0+
Setting up a development environment
# Get the code
git clone https://github.com/SmartMeshFoundation/Photon-Path-Finder.git
cd Photon-Path-Finder
# Build it
go get github.com/constabulary/gb/...
gb build
Congiguration
Postgres database setup
PFS requires a postgres database engine,version 10.0 or later. * Postgres downl * “https://www.postgresql.org/download/” * Create role:
sudo -u postgres createuser -P pfs # prompts for password
sudo -u postgres createdb -O pfs pfs_nodeinfos
sudo -u postgres
from the above commands.)
PFS running parameters
- Configuration parameters are stored at the file named “pathfinder.yaml”,you cannnot rename it, this file is in the same directory as the executable file.
- The parameters that need to be configured according to the actual application environment are:
- registory_address :hex encoded address of the registry contract(e.g:0xd66d3719E89358e0790636b8586b539467EDa596)
- address :The ethereum address you would link pfs to use sign transaction on ethereum
- keystore_path :Path for the ethereum keystore directory
- eth_rpc_endpoint :”host:port” address of ethereum JSON-RPC server, also accepts a protocol prefix (ws:// or ipc channel) with optional port
- password-file :Text file containing password for provided account
-
chain_id :Chain id identifies the current chain and is used for replay protection
-
pfs->server_name:PFS name(default:”localhost”)
-
ratelimited->stationary_feerate_default:Default fee rate,if you do not fill in,default as “0.0001”
-
logging->params->path :The path of log file
-
database->nodeinfos :The database connection string in postgres,that is data source name.
Starting a PFS server
./bin/photon-pathfinding-service
Todo
It’s still very much a work in progress.