← Back to Developer Resources

Setup Guide

Set Up Your Development Environment

This guide will help you set up your development environment for building on the Diamondz Shadow blockchain. Our platform is built on the OP Stack, which provides a robust foundation for Layer 2 scaling solutions.

Prerequisites

Command Line Tools

  • Git
  • Node.js (v16+)
  • Yarn or npm
  • Docker and Docker Compose

Development Tools

  • Code editor (VS Code recommended)
  • MetaMask browser extension
  • Foundry or Hardhat for smart contracts

Installation Steps

  1. Clone the Repository

    git clone https://github.com/diamondz-shadow/op-stack-dev.git cd op-stack-dev

    This repository contains all the necessary tools and configurations to get started with Diamondz Shadow development.

  2. Install Dependencies

    yarn install # or npm install

    This will install all the required dependencies for development.

  3. Configure Environment Variables

    cp .env.example .env # Edit .env with your preferred editor nano .env

    Update the environment variables with your specific configuration. You'll need:

    • RPC URLs for Ethereum (L1)
    • Private keys for development accounts
    • API keys for services like Infura or Alchemy
  4. Start the Development Environment

    yarn dev # or npm run dev

    This will start a local development environment with:

    • A local Ethereum node (L1)
    • The Diamondz Shadow node (L2)
    • A block explorer
    • Development tools and services

Development Components

Node Infrastructure

The core components of the Diamondz Shadow network, including the sequencer, batch submitter, and data transport layer.

Smart Contracts

The L1 and L2 contracts that power the Diamondz Shadow ecosystem, including bridges, messaging, and the Proof of Contribution system.

SDK & Tools

JavaScript/TypeScript libraries and tools for interacting with the Diamondz Shadow blockchain.

Next Steps

Once your development environment is set up, you can:

Need Help?

If you encounter any issues during setup or have questions, you can reach out to our developer community:

  • GitHub - Open issues or contribute to our repositories
  • Discord - Join our developer community
  • Email Support - Contact our developer relations team