[Announcement] RPC Node Deployment Pipeline from PrimeLab!

RPC Node Deployment Pipeline from PrimeLab!

Quickly scale up RPC Node deployments via Terraform

Contributors:
PrimeLab Core Tools
PrimeLab Blockchain Team

GitHub: RPC-Deployer

PrimeLab is excited to release the first iteration of our automated RPC Node Utility for NEAR Protocol! This utility enables developers and NEAR project stakeholders to quickly deploy and manage their own RPC node on the NEAR Mainnet!

Why (is this needed)

  • Many projects in the NEAR Ecosystem require their own RPC nodes. The options currently available are not automated and require repetitive & laborious tasks to deploy and maintain.

Who (would this benefit)

  • DAPP Developers
  • Network Metric Aggregators
  • SAAS Providers
  • Any project in the NEAR Ecosystem. :slight_smile:

How (does this achieve a solution):

  • The RPC Deployment Utility allows engineers to worry less about bottlenecks and focus more on the applications they’re building.

Tech:

  • The RPC Node utility uses Terraform, Packer, and Ansible to orchestrate the configuration and deployment of the RPC Node.

Getting Started

GitHub: NEAR-RPC-Deployer

Prerequisites

  • AWS Knowledge
    • AWS CLI
    • Terraform CLI

File Tree

β”œβ”€β”€ autoscaling.tf
β”œβ”€β”€ data.tf
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ ecr.tf
β”œβ”€β”€ ecs_service.tf
β”œβ”€β”€ ecs_task_definition..tf
β”œβ”€β”€ ecs.tf
β”œβ”€β”€ elb.tf
β”œβ”€β”€ endpoints.tf
β”œβ”€β”€ iam.tf
β”œβ”€β”€ key_pair.tf
β”œβ”€β”€ launch_templates.tf
β”œβ”€β”€ main.tf
β”œβ”€β”€ outputs.tf
β”œβ”€β”€ params
β”‚   └── us-east-1
β”‚       └── dev
β”‚           β”œβ”€β”€ backend.config
β”‚           └── variables.tfvars
β”œβ”€β”€ provider.tf
β”œβ”€β”€ r53.tf
β”œβ”€β”€ README.md
β”œβ”€β”€ secrets_manager.tf
β”œβ”€β”€ security_groups.tf
β”œβ”€β”€ task-definitions
β”‚   └── rpc_node.json
β”œβ”€β”€ tls_private_key.tf
β”œβ”€β”€ userdata
β”‚   └── ecs_user_data.sh               // Includes the `ECS_CLUSTER` variable definition in `/etc/ecs/ecs.config`
β”œβ”€β”€ variables.tf                       // Defines the shared variables used in the service
└── vpc.tf                             // Defines the network settings

Setup

  1. Fork the repo located here.

  2. Clone the repo by using the following command
    git clone git@github.com:(your_github_username)/rpc-near.git

  3. Modify the following files:
    a. params/us-east-1/dev/variables.tfvars
    b. params/us-east-1/dev/backend.config

  4. Run the following commands in your shell to deploy the Terraform service
    terraform init -var-file="./params/us-east-1/dev/variables.tfvars" -backend-config="./params/us-east-1/dev/backend.config && \ terraform plan -var-file="./params/us-east-1/dev/variables.tfvars" && \ terraform apply -var-file="./params/us-east-1/dev/variables.tfvars"

9 Likes

Hello.
Nice to meet you.
I am working with Near Protocol and I need to hook transactions for specific accounts.
So I need an RPC Node service on Near.
But I was not able to find any.
Could you tell me something valuable?
Please help me.
Thank you. Xu

1 Like