Skip to content

Polaris is a modular implementation of the Ethereum Virtual Machine (EVM). It can be easily integrated into any consensus engine or application, including the Cosmos-SDK.

License

Notifications You must be signed in to change notification settings

maeganyork/polaris

 
 

Repository files navigation

Polaris ❄️🔭

 

Polaris introduces the new standard of intergrating EVM into your blockchain project. With improvements to speed, security, reliability, and an extended set of features, Polaris will be able to support the next generation of decentralized applications while offering a compelling alternative to existing implementations.

Polaris VM is a blockchain framework built on top of the Cosmos SDK that offers a full-featured EVM with full interoperability to the Cosmos ecosystem. It achieves this through the use of various Stateful Precompiles built into the chain that act as gateways to the greater Cosmos framework. This allows EVM users to perform Cosmos native operations such as voting on governance, delegating to validators, and even communicating with other chains through IBC. This design allows us to maintain the native EVM user experience without sacrifices, providing true interoperability between the Cosmos ecosystem and EVM.

🚧 WARNING: UNDER CONSTRUCTION 🚧

This project is work in progress and subject to frequent changes as we are still working on wiring up the final system. It has not been audited for security purposes and should not be used in production yet.

Installation

From Binary

The easiest way to install a Cosmos-SDK Blockchain running Polaris is to download a pre-built binary. You can find the latest binaries on the releases page.

From Source

Step 1: Install Golang & Foundry

Go v1.20+ or higher is required for Polaris

  1. Install Go 1.20+ from the official site or the method of your choice. Ensure that your GOPATH and GOBIN environment variables are properly set up by using the following commands:

    For Ubuntu:

    cd $HOME
    sudo apt-get install golang -y
    export PATH=$PATH:/usr/local/go/bin
    export PATH=$PATH:$(go env GOPATH)/bin

    For Mac:

    cd $HOME
    brew install go
    export PATH=$PATH:/opt/homebrew/bin/go
    export PATH=$PATH:$(go env GOPATH)/bin
  2. Confirm your Go installation by checking the version:

    go version

Foundry is required for Polaris

  1. Install Foundry:
    curl -L https://foundry.paradigm.xyz | bash

Step 2: Get Polaris source code

Clone the polaris repo from the official repo and check out the main branch for the latest stable release. Build the binary.

cd $HOME
git clone https://github.com/berachain/polaris
cd polaris
git checkout main
go run build/setup.go

Step 3: Build the Node Software

Run the following command to install polard to your GOPATH and build the node. polard is the node daemon and CLI for interacting with a polaris node.

mage install

Step 4: Verify your installation

Verify your installation with the following command:

polard version --long

A successful installation will return the following:

name: berachain
server_name: polard
version: <x.x.x>
commit: <Commit hash>
build_tags: netgo,ledger
go: go version go1.20.4 darwin/amd64

Running a Local Network

After ensuring dependecies are installed correctly, run the following command to start a local development network.

mage start

The network will have an Ethereum JSON-RPC server running at http://localhost:1317/eth/rpc and a Tendermint RPC server running at http://localhost:26657.

About

Polaris is a modular implementation of the Ethereum Virtual Machine (EVM). It can be easily integrated into any consensus engine or application, including the Cosmos-SDK.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.1%
  • Solidity 2.3%
  • Shell 1.2%
  • Dockerfile 0.4%