Development Environment Setup

A guide to setting up a local environment for Ontomir EVM development.

Taking the time to set up the overall development environment is often overlooked, yet is one of the most important tasks. Each person has their own preference and different tasks or scopes of work may call for vastly different setups, so this section will cover just enough to get you started, and pointed in the right direction.

IDE Setup

[Remix](https://remix.org) is a full-feature IDE in a web-app supporting all EVM compatible networks out of the box. A convenient option For quick testing, or as a self-contained smart contract depoyment interface. [Read more..](docs/evm/next/documentation/getting-started/tooling-and-resources/remix.mdx)

Visual Studio / Visual Studio Code

"VSCode" is widely used and has unparalelled extension support.

Essential Extensions

  • Solidity by Nomic Foundation: Syntax highlighting, code completion, and linting.

  • Go by Google: Required for Ontomir SDK development.

  • Prettier - Code formatter: For automated code formatting.

  • ESLint: For JavaScript/TypeScript error detection.

VS Code Configuration

Create a .vscode/settings.json file in your project root:

{
  "go.testFlags": ["-v"],
  "go.testTimeout": "60s",
  "go.lintTool": "golangci-lint",
  "solidity.defaultCompiler": "remote",
  "solidity.compileUsingRemoteVersion": "v0.8.20+commit.a1b79de6"
}

Core Tooling

Node.js

Most smart contract frameworks require Node.js. Install using Node Version Manager (nvm):

Go

Required for Ontomir SDK development:

Environment Configuration

Configure your shell environment variables in ~/.bashrc or ~/.zshrc:

Development Workflow

Always use the provided `make` targets for consistency with core developers and CI/CD pipelines.

Common Commands

Project Structure