CosmWasm과 스마트 컨트랙트 작성 (1부)

소개



안녕하세요, 저는 Vu입니다. 새로운 시리즈인 CosmWasm과 스마트 계약 작성하기를 공유합니다.

스마트 계약이란 무엇입니까?



블록체인에 저장된 간단한 프로그램입니다. 미리 정해진 조건이 있을 때 실행할 수 있습니다.
다음은 스마트 계약의 이점과 소품 중 일부입니다.
  • 보안
  • 자동화
  • 속도 및 효율성
  • 신뢰와 투명성

  • 원인은 인간에 의한 프로그램이고 실수를 할 수 있으며 이로 인해 계약이 공격에 취약합니다.
    스마트 계약은 24kb를 초과할 수 없으며 그렇지 않으면 가스가 부족할 수 있습니다.

    환경



    1부에서는 개발할 환경과 이를 설정하는 방법을 소개한다.

    설정 녹



    Rust는 CosmWasm 스마트 계약에 사용되는 주요 프로그래밍 언어입니다. this을 따라 Rust를 설정할 수 있습니다.
    그런 다음 다음 명령을 실행합니다.

    # 1. Set stable as the default release channel
    
    rustup default stable 
    cargo version
    
    # update if it is lower than 1.50.0+
    
    rustup update stable
    
    # 2. Add WASM as the compilation target:
    
    rustup target list --installed
    rustup target add wasm32-unknow-unknown
    
    # 3. Install the following packages to generate the contract:
    
    cargo install cargo-generate --features vendored-openssl
    cargo install cargo-run-script
    


    VS 코드 설정



    VS Code는 강력한 편집기입니다. link을 통해 모든 플랫폼에 다운로드하여 설치할 수 있습니다.
    그리고 확장자를 추가할 수 있습니다: rust-analyzer 진단 녹 코드에.



    그리고 CosmWasm IDE 스마트 계약을 개발하고 배포합니다.



    결국 스마트 컨트랙트 프로그래밍을 개발할 수 있는 환경 설정을 마쳤습니다.

    시작할 시간입니다.



    스마트 계약을 작성할 때입니다. 논리가 있는 스마트 계약을 작성할 것입니다. 실행하면 스마트 계약이 카운터 변수를 1로 증가시킵니다.

    먼저 상용구 프로젝트를 설정하기 위해 CW-Template부터 시작합니다.
    최소한의 상용구 버전을 사용합니다.

    cargo generate --git https://github.com/CosmWasm/cw-template.git --branch 1.0-minimal --name counter-contract
    


    완료되면 출력을 확인합니다.

    🔧   Destination: /Users/oraichain/Desktop/person/rust-lab/cw-starter ...
    🔧   Generating template ...
    [ 1/30]   Done: .cargo/config
    [ 2/30]   Done: .cargo
    [ 3/30]   Skipped: .circleci/config.yml
    [ 4/30]   Done: .circleci
    [ 5/30]   Done: .editorconfig
    [ 6/30]   Done: .github/workflows/Basic.yml
    [ 7/30]   Done: .github/workflows
    [ 8/30]   Done: .github
    [ 9/30]   Done: .gitignore
    [10/30]   Done: Cargo.lock
    [11/30]   Done: Cargo.toml
    [12/30]   Done: LICENSE
    [13/30]   Done: NOTICE
    [14/30]   Done: README.md
    [15/30]   Done: examples/schema.rs
    [16/30]   Done: examples
    [17/30]   Done: rustfmt.toml
    [18/30]   Done: schema/count_response.json
    [19/30]   Done: schema/execute_msg.json
    [20/30]   Done: schema/instantiate_msg.json
    [21/30]   Done: schema/query_msg.json
    [22/30]   Done: schema/state.json
    [23/30]   Done: schema
    [24/30]   Done: src/contract.rs
    [25/30]   Done: src/error.rs
    [26/30]   Done: src/helpers.rs
    [27/30]   Done: src/lib.rs
    [28/30]   Done: src/msg.rs
    [29/30]   Done: src/state.rs
    [30/30]   Done: src
    🔧   Moving generated files into: `/Users/oraichain/Desktop/person/rust-lab/cw-starter`...
    💡   Initializing a fresh Git repository
    ✨   Done! New project created /Users/oraichain/Desktop/person/rust-lab/cw-starter
    


    다음 명령을 사용하여 프로젝트를 엽니다.

    cd cw-starter # change dir to project.
    code . # open project with vscode.
    


    짜잔, 당신은 스마트 컨트랙트 프로젝트를 가지고 있었습니다.



    게시물을 읽어 주셔서 감사합니다. 곧 2부도 업데이트 하겠습니다. 좋은 하루 보내세요!

    좋은 웹페이지 즐겨찾기