Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/berachain/polaris
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.
https://github.com/berachain/polaris
blockchain cosmos defi ethereum evm go golang mev web3
Last synced: about 1 month ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/berachain/polaris
- Owner: berachain
- License: other
- Archived: true
- Created: 2023-01-10T14:51:27.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-09T20:51:08.000Z (5 months ago)
- Last Synced: 2024-09-23T07:31:11.552Z (about 2 months ago)
- Topics: blockchain, cosmos, defi, ethereum, evm, go, golang, mev, web3
- Language: Go
- Homepage: https://polaris.berachain.dev/
- Size: 27.7 MB
- Stars: 1,083
- Watchers: 53
- Forks: 356
- Open Issues: 146
-
Metadata Files:
- Readme: README.md
- License: license/argus-labs.md
Awesome Lists containing this project
- awesome-cosmos - Polaris - Modular Ethereum Virtual Machine. (Virtual Machines / Terminal Block Explorers)
README
## 🚧 WARNING: THIS PROJECT IS DEPRECATED 🚧
This project is deprecated. If you are interested in maintaining it, please contact itsdevbear on GitHub or Twitter.
Polaris Monorepo ❄️🔭
*The project is still work in progress, see the [disclaimer below](#-warning-under-construction-).*
## What is Polaris?
Introducing Polaris, the revolutionary framework designed to simplify the integration of an Ethereum Virtual Machine (EVM) into your application. Polaris is built with a clean, easy-to-integrate API that eliminates the need for developers to spend time hacking together their own EVM integration solutions. Our framework is highly modular, allowing you to choose the components that best fit your needs and integrate an EVM environment into virtually any application.
Polaris is built with several core principles in mind:
1. **Modularity**: Each component is developed as a distinct package, complete with thorough testing, documentation, and benchmarking. You can use these components individually or combine them to create innovative EVM integrations.
2. **Configurability**: We want Polaris to be accessible to as many teams and use cases as possible. To support this, our framework is highly configurable, allowing you to tailor it to your specific needs.
3. **Performance**: In today's competitive crypto landscape, performance is key. Polaris is optimized to deliver the highest levels of performance and efficiency.
4. **Contributor Friendliness**: We believe that open collaboration is key to driving innovation in blockchain development. While Polaris is currently licensed under BUSL-1.1, we plan to adjust our licensing to support contributor-based schemes as we approach production readiness.
5. **Memes**: If ur PR doesn't have a meme in it like idk sry bro, gg wp glhf.## Documentation
If you want to build on top of Polaris, take a look at our [documentation](http://polaris.berachain.dev/).
If you want to help contribute to the framework, check out the [Framework Specs](./specs/).## Directory Structure
> Polaris utilizes [go workspaces](https://go.dev/doc/tutorial/workspaces) to break up the repository into logical sections, helping to reduce cognitive overhead.
🔭 Polaris 🔭
├── build: Build scripts and developer tooling.
├── contracts: Contracts and bindings for Polaris (and hosts).
├── cosmos: Polaris integrated into a Cosmos-SDK based chain.
├── e2e: End-to-end testing utilities.
├── eth: The Core of the Polaris Ethereum Framework.
├── lib: A collection of libraries used throughout the repo.
├── proto: Protobuf definitions.## Build & Test
[Golang 1.20+](https://go.dev/doc/install) and [Foundry](https://book.getfoundry.sh/getting-started/installation) are required for Polaris.
1. Install [go 1.21+ from the official site](https://go.dev/dl/) 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:
```sh
cd $HOME
sudo apt-get install golang jq -y
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$(go env GOPATH)/bin
```For Mac:
```sh
cd $HOME
brew install go jq
export PATH=$PATH:/opt/homebrew/bin/go
export PATH=$PATH:$(go env GOPATH)/bin
```2. Install Foundry:
```sh
curl -L https://foundry.paradigm.xyz | bash
```3. Clone, Setup and Test:
```sh
cd $HOME
git clone https://github.com/berachain/polaris
cd polaris
git checkout main
make test-unit
```4. Start a local development network:
```sh
make start
```