infrablockchain-docs
ko
ko
  • 인프라블록체인
    • 배우기
      • 아키텍처
        • 아키텍처
        • 네트워크 참여자
        • 파라체인
          • 시스템 파라체인
      • 프로토콜
        • 시스템 토큰
        • 트랜잭션 수수료
        • Proof of Transaction
      • Substrate
        • 배우기
          • 기초 지식
            • 암호학
            • 블록체인 기본 개념
            • 합의
            • 네트워크와 노드
            • 트랜잭션과 블록 기본 사항
            • 트랜잭션 수명주기
            • 오프체인 작업
            • 라이트 클라이언트
            • Substrate를 위한 Rust
            • 라이브러리 소개
            • 아키텍처와 Rust 라이브러리
            • 파일 구조
            • 계정, 주소 및 키
            • 트랜잭션 형식
            • 난수 생성
          • 프레임
            • FRAME 팔레트
            • FRAME 매크로
            • 커스텀 팔레트
            • 팔레트 커플링
            • Origin
            • 이벤트와 에러
            • 런타임 스토리지 구조
            • 상태 전이와 스토리지
            • SCALE 인코딩
            • 트랜잭션, Weight 및 수수료
            • 런타임 API
            • 런타임 업그레이드
            • 런타임 개발
          • 계정 데이터 구조
          • 주소 형식
          • 용어집
          • cli
            • 아카이브
            • 메모리 프로파일러
            • 노드 템플릿
            • 사이드카
            • srtool
            • 서브키
            • subxt
            • try-runtime
            • tx-wrapper
          • 런타임 개발
            • 기본
              • Genesis 상태 구성하기
              • 런타임 상수 구성
              • 체인 스펙을 커스텀하기
              • 팔레트 가져오기
              • 도우미 함수 사용하기
            • 합의 모델
              • 작업 증명을 사용하는 체인 구성
              • 하이브리드 노드 생성하기
            • 오프체인 워커
              • 오프체인 HTTP 요청하기
              • 오프체인 인덱싱
              • 오프체인 로컬 스토리지
            • 팔레트 설계
              • 크라우드펀딩 구성하기
              • 스토리지 구조체 (struct) 생성하기
              • 잠금 가능한 통화 구현
              • 무작위성 적용하기
              • 느슨한 팔레트 결합 사용하기
              • 타이트한 팔레트 결합 사용하기
            • 파라체인 개발
              • HRMP 채널 추가하기
              • 로컬 파라체인 노드 추가하기
              • 릴레이 체인에 연결하기
              • 솔로 체인을 변환하기
              • 론칭 준비
              • 콜레이터 선택
              • 파라체인 업그레이드
            • 스토리지 마이그레이션
              • 기본 저장소 마이그레이션
              • 스토리지 마이그레이션 트리거
            • 테스트
              • 기본 테스트 설정하기
              • 전송 함수 테스트하기
            • 도구
              • 체인을 위한 txwrapper 생성
              • REST 엔드포인트를 사용하여 체인 데이터 가져오기
              • try-runtime 사용하기
              • Wasm 바이너리 검증하기
            • 가중치
              • 벤치마크 추가
              • 수수료 계산하기
              • 조건부 가중치 사용
              • 사용자 정의 가중치 사용하기
        • 빌드하기
          • 제작할 것을 결정하세요
          • 빌드 프로세스
          • 결정론적 런타임 빌드
          • 체인 스펙
          • Genesis 구성
          • 애플리케이션 개발
          • RPC
          • 문제 해결
        • 튜토리얼
          • 설치하기
            • 개발자 도구
            • 리눅스 개발 환경
            • macOS 개발 환경
            • Rust 툴체인
            • Rust 문제 해결 방법
            • Windows 개발 환경
          • 빠른 시작
            • 코드 탐색하기
            • 런타임 수정하기
            • 노드 시작하기
            • Substrate 한눈에 보기
          • 블록체인 구축
            • 신뢰할 수 있는 노드 추가
            • 특정 노드 승인
            • 로컬 블록체인 구축하기
            • 네트워크 시뮬레이션
            • 실행 중인 네트워크 업그레이드
          • 애플리케이션 로직 구축
            • 런타임에 팔레트 추가하기
            • 오프체인 워커 추가
            • 사용자 정의 팔레트 게시
            • 함수 호출의 출처 지정하기
            • 사용자 정의 팔레트에서 매크로 사용하기
          • 유용한 도구들
            • EVM 계정에 접근하기
            • 이더리움 통합
            • 사이드카 엔드포인트 탐색하기
            • 경량 클라이언트 노드 통합
          • 스마트 컨트랙트
            • 스마트 컨트랙트
            • 토큰 계약 작성하기
            • 스마트 컨트랙트 개발하기
            • 첫 번째 계약 준비하기
            • 스마트 컨트랙트 문제 해결
            • 값 저장을 위한 맵 사용
      • XCM
        • XCM
        • XCM 형식
    • 서비스 체인
      • 인프라DID
      • 인프라EVM
      • URAuth(Universal Resource Auth)
    • 데브 옵스
      • 체인 빌드
      • 배포
      • 모니터링
    • 튜토리얼
      • 기초
        • 시스템 토큰 관리 프로세스
        • 시스템 토큰을 트랜잭션 수수료로 사용해보기
        • 트랜잭션에 투표 포함 시키기
        • 밸리데이터 보상 받기
      • 구축하기
        • 인프라릴레이체인 구축하기
        • 파라체인 구축하기
        • 메시지 전달 채널 열기
        • XCM을 이용하여 토큰 전송하기
        • Asynchronous Backing 적용하기
      • 테스트
        • 벤치마크
        • 런타임 확인
        • 디버그
        • 테스트 네트워크에서 파라체인 시뮬레이션하기
        • 단위 테스트
      • 서비스체인
        • 인프라DID
          • 구축하기
          • 공개키 추가하기
          • 서비스 엔드포인트 등록하기
          • DID 생성하기
        • 인프라EVM
          • 구축하기
          • EVM에 자금 입금 및 인출하기
          • ERC20 토큰 컨트랙트 배포하기
          • ERC721 토큰 컨트랙트 배포하기
          • ERC1155 토큰 컨트랙트 배포하기
  • 뉴날 데이터 마켓
Powered by GitBook
On this page
  • 시작하기 전에
  • 노드 템플릿 빌드하기
  • 노드 정보 보기
  • 블록체인 시작하기
  • 노드에 연결하기
  • 노드 중지하기
  1. 인프라블록체인
  2. 배우기
  3. Substrate
  4. 튜토리얼
  5. 빠른 시작

노드 시작하기

템플릿에서 Substrate 노드를 시작하세요.

Previous런타임 수정하기NextSubstrate 한눈에 보기

Last updated 1 year ago

Substrate 튜토리얼과 가이드를 따라하려면 개발 환경에서 Substrate 노드를 빌드하고 실행해야 합니다. 에서는 작업 환경을 빠르게 설정할 수 있도록 여러분을 위한 _템플릿_을 관리하고 있습니다. 예를 들어, 은 주요 Substrate node-template 바이너리의 스냅샷으로, 시작하기 위한 핵심 기능을 포함하고 있습니다.

노드를 시작한 후에는 웹 브라우저와 간단한 애플리케이션을 사용하여 미리 정의된 계정의 잔액을 조회할 수 있습니다.

시작하기 전에

시작하기 전에 다음을 확인하세요:

  • 인터넷 연결이 되어 있고 로컬 컴퓨터에서 대화형 셸 터미널에 접근할 수 있어야 합니다.

  • 소프트웨어 개발과 명령 줄 인터페이스 사용에 대해 일반적으로 알고 있어야 합니다.

  • Rust 컴파일러와 툴체인이 설치되어 있어야 합니다.

    Rust가 설치되어 있는지 확인하려면 rustup show 명령을 실행하세요. Rust가 설치되어 있다면, 이 명령은 툴체인과 컴파일러의 버전 정보를 표시합니다. Rust가 설치되어 있지 않다면, 명령은 어떤 출력도 반환하지 않습니다. Rust를 설치하는 방법에 대한 정보는 를 참조하세요.

노드 템플릿 빌드하기

  1. 다음 명령을 실행하여 노드 템플릿 저장소를 복제하세요:

    git clone https://github.com/substrate-developer-hub/substrate-node-template

    이 명령은 main 브랜치를 복제합니다.

    원하는 Polkadot 버전과 호환되는 노드를 생성하려면 --branch 명령줄 옵션과 를 사용할 수도 있습니다.

  2. 복제한 디렉토리의 루트로 이동하세요:

    cd substrate-node-template
  3. 다음과 유사한 명령을 실행하여 작업을 저장할 새 브랜치를 생성하세요:

    git switch -c my-learning-branch-yyyy-mm-dd

    브랜치의 이름은 원하는 식별 정보로 지정할 수 있습니다. 대부분의 경우, 브랜치를 복제한 날짜인 연도-월-일 정보를 이름에 포함하는 것이 좋습니다. 예를 들어:

    git switch -c my-learning-branch-2023-03-31
  4. 노드 템플릿을 컴파일하세요:

    cargo build --package node-template --release

    노드를 처음으로 컴파일하는 경우, 완료까지 시간이 소요될 수 있습니다. 컴파일이 완료되면 다음과 같은 줄이 표시됩니다:

    Finished release [optimized] target(s) in 11m 23s

노드 정보 보기

  1. 다음 명령을 실행하여 노드를 사용할 준비가 되었는지 확인하고 사용 가능한 명령 줄 옵션에 대한 정보를 확인하세요:

    ./target/release/node-template --help

    사용법 정보에서는 다음과 같은 명령 줄 옵션을 사용하여:

    • 노드를 시작할 수 있습니다.

    • 계정과 키를 사용할 수 있습니다.

    • 노드 작업을 수정할 수 있습니다.

  2. 다음 명령을 실행하여 미리 정의된 Alice 개발 계정에 대한 계정 정보를 확인하세요:

    ./target/release/node-template key inspect //Alice

    이 명령은 다음과 같은 계정과 주소 정보를 표시합니다:

    Secret Key URI `//Alice` is account:
    Network ID:        substrate
    Secret seed:       0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a
    Public key (hex):  0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d
    Account ID:        0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d
    Public key (SS58): 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY
    SS58 Address:      5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY

블록체인 시작하기

  1. 다음 명령을 실행하여 개발 모드에서 노드를 시작하세요:

    ./target/release/node-template --dev

    개발 모드에서는 체인이 블록을 최종화하기 위해 다른 피어 컴퓨터를 필요로 하지 않습니다. 노드가 시작되면 터미널에 수행된 작업에 대한 출력이 표시됩니다. 블록이 제안되고 최종화되는 메시지가 표시된다면 실행 중인 노드가 있습니다.

    ... Idle (0 peers), best: #3 (0xcc78…5cb1), finalized #1 ...
    ... Starting consensus session on top of parent ...
    ... Prepared block for proposing at 4 (0 ms) ...

노드에 연결하기

  • 입력으로 계정 주소를 받습니다.

  • onClick 이벤트를 사용하여 계정 잔액을 조회합니다.

  • 계정의 잔액을 출력합니다.

노드에 연결하여 계정 잔액을 확인하려면 다음을 수행하세요:

  1. 웹 브라우저에서 index.html 파일을 엽니다.

  2. Alice 계정의 SS58 주소를 입력 필드에 복사하여 붙여넣고 잔액 조회를 클릭하세요.

노드 중지하기

  1. 블록체인 작업을 표시하는 터미널로 이동하세요.

  2. control-c 키 조합을 눌러 로컬 블록체인을 중지하고 모든 상태를 지웁니다.

Alice와 Bob과 같은 미리 정의된 개발 계정은 체인 스펙 파일에 구성되어 있습니다. 에서 노드 템플릿 파일에 대해 자세히 알아보고, 특히 체인 스펙 파일에 대해서는 에서 자세히 알아보세요. 지금은 간단한 잔액 이체와 같은 테스트를 가능하게 하기 위해 개발 계정이 존재하는 것만 알고 계시면 됩니다.

노드가 실행 중이므로 미리 정의된 Alice 계정의 잔액을 확인하기 위해 노드에 연결할 수 있습니다. 이 간단한 애플리케이션에서는 JavaScript와 를 사용하여 블록체인과 상호작용하는 index.html HTML 파일을 생성할 수 있습니다.

예를 들어, 이 샘플 은 다음과 같은 작업을 수행하는 JavaScript, Polkadot-JS API, HTML을 사용하는 방법을 보여줍니다:

빠른 시작: 잔액 조회 애플리케이션의 를 코드 편집기에 복사하여 새 파일에 붙여넣고 파일을 로컬 컴퓨터에 저장하세요.

Substrate 개발자 허브
substrate-node-template
설치
태그
코드 탐색
체인 스펙
Polkadot-JS API
index.html
샘플 코드