This page provides a guide for developers to setup and install the RIF Notifier project.
RIF Notifier can be installed to run locally or in a docker container. Local installation can be performed by following the steps in Local Installation. To run rif-notifier in a docker container, follow the instructions in Docker Installation Steps.
Make sure you have docker installed in your machine. If not, download from https://www.docker.com/products/docker-desktop
The latest version of the git
client can be installed through:
sudo apt update
sudo apt install git
Open a terminal.
Install git by following the steps in prerequisites for docker installation.
Clone this repo using git clone https://github.com/rsksmart/rif-notifier rif-notifier
and switch to the rif-notifier directory by using command cd rif-notifier
Install notifier provider cli by following steps in notifier provider cli
Copy config-docker-template.json
to config-docker.json
Set the dbpassword
environment variable for mysql docker container. Set the same password to rif-notifier by running command notifier-prov-cli dockerconfigure --dbpassword
.
Run notifier-prov-cli dockerconfigure
to configure the required properties to run RIF notifier docker instance.
Run the command notifier-prov-cli dockerbuild
This command will build the mysql, and rif-notifier docker images and run it. Wait for the server to start until you see message started application in x(seconds).
Run the command notifier-prov-cli create subscriptionplan --docker
to create subscription plans.
Once the containers are fully running, test it by using following command curl -k http://localhost:8080/getSubscriptionPlans
. And that’s it, congrats! you should see a response with the json of subscription plans.
Subsequently to stop and start the docker containers use notifier-prov-cli dockerstop
and notifier-prov-cli dockerstart
The latest version of the git
client can be installed through:
sudo apt update
sudo apt install git
The next requirement is an RSK node which can be run using the JAR file method. Use the latest RSKj version avaiable and have it sync with mainnet.
This node should be accessible through localhost:4444
. For more information on how to achieve this, please consult the Setup node on Java section on the Developer Portal.
The latest version of the mysql-server
database can be installed through:
sudo apt update
sudo apt install mysql-server
Then, run the installer by executing:
sudo mysql_secure_installation
This will take you through a series of prompts where you can configure your MySQL installation.
You can verify the MySQL service is running by executing:
sudo service mysql status
You can verify the port used by the MySQL is of the expected value 3306
by executing:
sudo netstat -tlnp | grep mysql
netstat
can be installed through sudo apt install net-tools
.
The latest version of maven can be installed through:
sudo apt install maven
The steps in this section will help you configure mysql database in local environment.
Ensure prerequisites for local installation are met.
Run the script bin/install.sh with 3 parameters as below, this will create the mysql user notifier_user with required permissions
bin/install.sh <database root user> <database root password> <notifier_user password>
The third parameter is the password for user notifier_user
which will be created by this script
To update an already installed RIF Notifier follow these steps:
rif-notifier
directory and pull the latest code by executing git pull
. The master
branch should still be used.notifier-prov-cli start
.RIF Notifier uses eth_getLogs
rpc to get the information about events, therefore the Rootstock (RSK) node must respond in a reasonable
timeframe (< 30s)
Since the eth_getLogs
result is cached, it will take a long time for this call to finish the first time it is executed after the Rootstock (RSK) node is started. This will happen each time the Rootstock (RSK) node boots.
After this, each call should be finished in a reasonable time.
Use this curl to test the eth_getLogs
response:
curl -X POST http://localhost:4444 -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"address":"0xde2D53e8d0E673A4b1D9054cE83091777F2fd8Ce","fromBlock":"0x0","toBlock":"latest"}],"id":74}'
Notifier Provider CLI is a command line tool to configure and run the rif-notifier.
To install and use notifier provider cli see https://github.com/rsksmart/rif-notifier/tree/master/notifier-prov-cli
Notifier Consumer CLI is a command line tool for RIF-Notifier consumers to perform operations like subscribe to a plan, renew a subscription, and list user subscriptions.
To install and use notifier consumer cli see https://github.com/rsksmart/rif-notifier/tree/master/notifier-cons-cli
Use notifier-prov-cli start
to start the rif notifier locally, or notifier-prov-cli dockerstart
to start rif notifier docker instance
Go to top