Actions

Moonriver RPC endpoint

From Chainlink Community Wiki

MoonRiverLogo.png

MoonRiver RPC endpoint details

This is a general guide on deploying a MoonRiver RPC endpoint for your Chainlink Node(s).
Official MoonRiver Docs are available here

NOTE

This document assumes base operating system is Debian 10

MoonRiver RPC endpoints:

You Chainlink node has two connections methods. Websocket and HTTP.

As these can vary between networks, the default values for an Arbitrum node are:

Websocket ws://<your_ip_address>:9944

HTTPhttp://<your_ip_address>:9933

Install Docker-CE & docker-compose

Install dependencies first.

sudo apt update && sudo apt upgrade && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common Now, we'll need to get our aptitude sources updated to include the Docker-CE repository.

Now, we'll need to get our aptitude sources updated to include the Docker-CE repository.

These commands must be run as root.

sudo su

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"Once we have added the repo and the necessary key, we want to exit the root user. exit

Once we have added the repo and the necessary key, we want to exit the root user. exit

NOTE

You should see your shell prompt displaying a $ if you're a non-root user. If you're in an elevated (root) TTY session, your shell prompt will display a #


Since we've modified our aptitude sources, we'll need to update them before we can install docker-ce

sudo apt update && sudo apt install docker-ce Now that we have Docker-CE installed, we'll need to add our user to the docker group.

Now that we have Docker-CE installed, we'll need to add our user to the docker group.

(The prevents us from having to run docker commands with elevated (root) permissions)

sudo usermod -aG docker $USER


Lastly, we'll install docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


Next, we'll get our MoonRiver node deployed and synced.

Deploy MoonRiver RPC Node

With docker and docker-compose installed, we're good to get our MoonRiver Node deployed.

Change into the directory you want to house the block data and create a docker-compose.yml file. Copy and paste the below into the docker-compose file:

version: '3.8'

services:
  moonriver:
    container_name: moonriver
    image: purestake/moonbeam:v0.28.1
    restart: unless-stopped
    volumes:
        - /mnt/data/moonriver-data:/data:rw
    ports:
        - "30333:30333"
        - "9933:9933"
        - "9944:9944"
        - "30334:30334"
        - "9934:9934"
        - "9945:9945"
    command:
        - --port=30333
        - --rpc-port=9933
        - --rpc-external
        - --ws-port=9944
        - --ws-external
        - --name="dt-moonriver-00"
        - --execution=wasm
        - --wasm-execution=compiled
        - --state-pruning=archive
        - --trie-cache-size=0
        - --db-cache=8192
        - --base-path=/data
        - --chain=moonriver
        - --
        - --port=30334
        - --rpc-port=9934
        - --ws-port=9945
        - --execution=wasm
        - --pruning=1000
        - --name="dt-moonriver-00 (Embedded Relay)"

networks:
  default:
    name: moonriver-network
    driver: bridge
    driver_opts:
      com.docker.network.bridge.enable_icc: "true"


With the docker-compose file created, we can go ahead and start the containers.

docker-compose up -d