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를 위한 스마트 컨트랙트 개발 환경을 구성하는 방법을 담고 있다.

들어가기 전에

옵티미즘 레이어2 솔루션은 EVM과 호환되는 스마트 컨트랙트 실행 환경을 갖추고 있기 때문에, 레이어1의 스마트 컨트랙트 개발 환경과 거의 동일한 환경으로 레이어2 스마트 컨트랙트를 개발하고 배포할 수 있다. 아래에서는 레이어2 스마트 컨트랙트 개발을 위해 필요한 환경 구성 방법을 설명한다.

옵티미즘 레이어2를 활용하는 아주 간단한 예제를 참고할 수 있다.

Layer1/2 Environment

옵티미즘 레이어2를 위한 스마트 컨트랙트 개발을 위해서는 레이어1, 레이어2 뿐만 아니라 각 레이어를 연결시키는 서비스들이 필요하다. 필요한 구성 요소들은 docker를 활용해 사용할 수 있으며, 아래와 같은 명령으로 개발 환경을 빌드하고 실행할 수 있다.

git clone https://github.com/Onther-Tech/optimism.git
cd optimism
yarn install

cd ops
export COMPOSE_DOCKER_CLI_BUILD=1 # these environment variables significantly speed up build time
export DOCKER_BUILDKIT=1
docker-compose build

docker-compose up -d

package.json

Solidity 코드를 레이어2용 스마트 컨트랙트로 컴파일하기 위해 optimism의 hardhat plugin을 사용해야 하며, 아래 방법 중 한 가지 방법으로 추가할 수 있다.

shell script

yarn add @eth-optimism/hardhat-ovm

add dependency

// package.json

...
"devDependencies": {
  "@eth-optimism/hardhat-ovm": "^0.2.2",
  ...
}

hardhat.config.ts

옵티미즘 레이어2에 대한 정보를 hardhat 설정 파일에 등록하여, 네트워크 옵션에 따라 옵티미즘 레이어2를 위한 스마트 컨트랙트를 빌드할 수 있도록 아래 내용을 추가한다.

// hardhat.config.ts

import '@nomiclabs/hardhat-waffle'
import '@eth-optimism/hardhat-ovm'

...

module.exports = {
  solidity: "0.7.6",
  networks: {
    // Add this network to your config!
    optimism: {
       url: 'http://127.0.0.1:8545',
       accounts: { mnemonic: 'test test test test test test test test test test test junk' },
       gasPrice: 15000000,          
       ovm: true // This sets the network as using the ovm and ensure contract will be compiled against that.
    }
  }
}

스마트 컨트랙트 컴파일

아래와 같이 optimism 네트워크 옵션으로 컴파일 할 경우 옵티미즘 레이어2용 스마트 컨트랙트가 컴파일된다.

npx hardhat --network optimism compile

스마트 컨트랙트 테스트

위와 같이 컴파일한 스마트 컨트랙트를 활용하여 레이어2 환경에서 스마트 컨트랙트를 테스트해볼 수 있다. 단, 테스트를 실행하기 전에 테스트를 위한 레이어1/2 환경이 실행되어 있어야 한다.

npx hardhat --network optimism test
Last updated on 8/25/2021 by modagi
← 나타샤 Faucet새로운 옵티미즘 레이어2 구축 →
  • 들어가기 전에
  • Layer1/2 Environment
  • package.json
    • shell script
    • add dependency
  • hardhat.config.ts
  • 스마트 컨트랙트 컴파일
  • 스마트 컨트랙트 테스트
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.