# XSN Block Explorer - Server
## Run
1. We need the xsn rpc server running, download the latest one from [xsn releases ](https://github.com/X9Developers/XSN/releases ), then, start the rpc server with: `bin/xsnd -txindex -addressindex -spentindex -rpcport=51473 -rpcuser=dummy -rpcpassword=replaceme`
2. Edit the [application.conf ](server/conf/application.conf ).
* In case you modified the parameters to start the xsn rpc server, update the credentials.
* Set the credentials to access a postgres database.
* Replace `play.modules.enabled += "com.xsn.explorer.modules.SeederModule"` with `play.modules.enabled += "com.xsn.explorer.modules.PollingSeederModule"` .
3. Run the application with: `sbt run`
## Test
Run the `sbt test` command to execute the tests.
## Deploy
This assumes that you have the following:
- A linux-based virtual machine prepared with Java 8 and a systemd service called `xsn-backend` .
- A system level user called `play` which belogs to the group `nogroup` .
### Client side
- Package the application: `sbt dist`
- Upload the application: `scp target/universal/xsn-block-explorer-0.1.0-SNAPSHOT.zip $SERVER_IP:~/`
- Login into the server: `ssh $SERVER_IP` .
### Server side
- Unpack the application: `sudo unzip ~/xsn-block-explorer-0.1.0-SNAPSHOT.zip -d /home/play/server`
- Update configuration: `sudo vim /home/play/server/xsn-block-explorer-0.1.0-SNAPSHOT/conf/application.conf`
- Give permissions: `sudo chown -R play:nogroup /home/play/server`
- Restart the service: `sudo service xsn-backend restart`