Tokamak Network Documents
  • Docs
  • Getting Started
  • Languages icon한국어
    • English

›토카막 옵티미즘

General

    기초

    • 토카막 네트워크

Optimistic Rollup

    토카막 옵티미즘

    • 토카막 옵티미즘 테스트넷
    • 나타샤 Faucet
    • 개발 환경 준비
    • 새로운 옵티미즘 레이어2 구축
    • 옵티미즘-ERC20 배포 & 테스트
    • 옵티미즘-ERC721 배포 & 테스트
    • 옵티미즘으로 컨트랙트 포팅

DAO & Staking

    TON 스테이킹

    • 캔디데이트 세팅하기
    • 프라이빗 테스트넷에 스테이킹하기
    • 링키비 테스트넷에 스테이킹하기
    • 커밋 방법

Token Economics

    토큰경제

    • TON
    • 자식체인과 스테이킹
    • 토큰 공급과 분배
    • 파워톤
    • 트랜잭션 수수료 정책
    • 챌린지
    • 파라미터 정리

Another Layer2

    Plasma EVM

    • 상호운용성: 진입 & 퇴장
    • 편의성: 계정, 트랜잭션 수수료, 개발도구
    • 비교: 다른 확장성 솔루션
    • 디자인 원칙
    • Plasma EVM 아키텍처
    • 루트체인
    • 자식체인
    • Continuous Rebase
    • Plasma EVM 스마트 컨트랙트
    • 요청 가능한 컨트랙트 예제
Edit

새로운 옵티미즘 레이어2 구축

이 문서는 L2 솔루션의 옵티미스틱 롤업인 옵티미즘을 링키비(Rinkeby) 테스트넷에 배포하는 과정을 담고 있다.

준비사항

링키비 엔드포인트

링키비(Rinkeby) 테스트넷의 노드를 연결하기 위해서 infura.io를 이용한다. Infura 엔드포인트를 생성하기 위해서는 이 문서를 참조한다.

엔드포인트: https://rinkeby.infura.io/v3/<API KEY>

링키비 Account Privatekey

옵티미즘을 구동시키기 위해서는 3개의 Account가 필요하다. 잔액이 충분한 Account의 프라이빗키를 준비한다.

AWS EC2 인스턴스

L2 체인을 AWS EC2에 구동시킨다. 본 문서는 Amazon Linux 2 운영체제를 사용한다. 이 문서를 참조해 AWS EC2 인스턴스를 생성할 수가 있다.

설치

AWS EC2에 접속

AWS EC2에 접속하여 설치를 시작한다. 자신의 SSH 키와 EC2 주소를 입력한다. Amazon Linux 2의 SSH 접속 사용자는 ec2-user 이다.

ssh -i <ssh key> ec2-user@ec2-xx-xx-xx-xx.ap-northeast-2.compute.amazonaws.com

Docker 설치

EC2에 docker를 설치하고 ec2-user 계정에 실행권한을 부여한다. 시작시 자동으로 docker 서비스가 실행되도록 한다.

sudo amazon-linux-extras install -y docker

sudo service docker start

sudo usermod -a -G docker ec2-user

sudo chkconfig docker on

Docker Compose 설치

docker compose를 다운 받아서 실행할 수 있도록 한다.

sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

설치가 모두 완료되었으면 직접 실행하여 정상적으로 구동되는지 테스트 한다.

docker version

docker-compose version

Develop Tools 설치

Amazon Linux2 OS에 Development Tool을 설치한다.

sudo yum groupinstall -y "Development Tools"

optimism-deploy 레파지토리 복제

optimism을 쉽고 빠르게 구동시킬 수 있는 optimism-deploy 레파지토리를 복제한다.

git clone https://github.com/Onther-Tech/optimism-deploy

cd optimism-deploy

디렉토리의 구조는 다음과 같다.

.
├── README.md
├── data
├── docker-compose-l1chain.yml
├── docker-compose-local.yml
├── docker-compose-metrics.yml
├── docker-compose-rpc-proxy.yml
├── docker-compose.yml
├── envs
│   ├── batches.env
│   ├── dtl.env
│   ├── geth.env
│   └── metrics.env
├── garafana-l2geth.json
├── metrics
│   ├── grafana
│   │   └── provisioning
│   │       ├── dashboards
│   │       │   └── config.yml
│   │       └── datasources
│   │           ├── influxdb.yml
│   │           └── prometheus.yml
│   ├── prometheus
│   │   └── prometheus.yml
│   └── scripts
│       └── dashboard-sync.py
└── optimism.sh
  • data: 옵티미즘에 구동되면서 생성되는 데이터가 저장
  • docker-compose-l1chain.yml: optimism을 구동시키기 위한 l1chain 구동
  • docker-compose-local.yml: Local 환경에서 L1 Chain과 옵티미즘을 구동
  • docker-compose-metrics.yml: geth metrics 구동
  • docker-compose-rpc-proxy.yml: RPC Proxy 구동
  • docker-compose.yml: Remote Chain에 옵티미즘을 구동
  • env: 옵티미즘 패키지들의 환경변수 파일
  • garafana-l2geth.json: Garafana Dashboard 설정 파일`
  • metrics: metrics를 위한 설정
  • optimism.sh: 옵티미즘 구동을 쉽게 할 수 있는 쉘스크립트

환경변수 파일 생성

옵티미즘 구동에 필요한 환경변수 파일을 작성한다. .env.example 파일을 복사하여 사용한다.

cp .env.example .env

.env에 앞서 준비했던 내용으로 변경한다. 링키비(Rinkeby) 테스트넷 엔드포인트 와 3개 계정의 프라이빗키를 입력한다.

.env

L1_NODE_WEB3_URL=https://rinkeby.infura.io/v3/<API KEY>

...

DEPLOYER_PRIVATE_KEY=<private key>
SEQUENCER_PRIVATE_KEY=<private key>
RELAYER_PRIVATE_KEY=<private key>

옵티미즘 스마트 컨트렉트 배포

.env 파일을 모두 수정했으면 옵티미즘 구동에 필요한 컨트렉트를 배포한다.

docker run --name deploy_contract --env-file .env onthertech/optimism.deployer

실행 후 링키비(Rinkeby) 테스트넷에 모든 스마트 컨트렉트를 배포하고 종료된다. 종료후에는 addresses.json과 state-dump.latest.json 파일을 가져온다.

mkdir -p data/contract_dumps

docker cp deploy_contract:/opt/optimism/packages/contracts/dist/dumps/addresses.json data/contract_dumps/

docker cp deploy_contract:/opt/optimism/packages/contracts/dist/dumps/state-dump.latest.json data/contract_dumps/

옵티미즘 실행

스마트 컨트렉트가 모두 배포되고 컨트렉트 주소파일이 생성되면 옵티미즘의 패키지들을 구동시킨다.

docker-compose  up -d

docker-compose logs -f

Log를 통해서 정상적으로 동작되는 것을 확인 할 수가 있다.

optimism.sh 이용

optimism.sh 를 사용하면 편리하게 옵티미즘을 구동시킬 수가 있다. .env 파일을 생성후에 optimism.sh를 이용한다.

사용법은 다음과 같다.

$ ./optimism.sh help

Usage:
  ./optimism.sh [Flags]
     [Flags]
        up
        down
        logs
        help
        --env-file <environment file> (default: .env)
        --tag, -t: <TAG> (default: latest)
        --clear, -c: clear data
        --datadir <data path>
        --metrics, -m: with metrics

옵티미즘 시작

./optimism.sh up

옵티미즘 종료

./optimism.sh down

로그확인

./optimism.sh logs
Last updated on 8/23/2021 by Harry Oh
← 개발 환경 준비옵티미즘-ERC20 배포 & 테스트 →
  • 준비사항
    • 링키비 엔드포인트
    • 링키비 Account Privatekey
    • AWS EC2 인스턴스
  • 설치
    • AWS EC2에 접속
    • Docker 설치
    • Docker Compose 설치
    • Develop Tools 설치
    • optimism-deploy 레파지토리 복제
    • 환경변수 파일 생성
    • 옵티미즘 스마트 컨트렉트 배포
    • 옵티미즘 실행
    • optimism.sh 이용
Docs
LearnGuides
Community
DiscordTelegramTwitterFacebook
More
Onther BlogOnther GitHub
Family site
Tokamak NetworkOriginal StakingSimple StakingStaking SimulatorPrice DashboardVesting DashboardTON-WTON Swapper
Tokamak Network
Copyright © 2021 Onther Inc.