암호화 및 AI를 위한 개발 설정

3542 단어 ethereumsolidity

Devbox용 EC-2 인스턴스 생성


  • t2.medium이면 충분합니다. 2개의 vCPU와 4GB 메모리가 있으며 비용은 시간당 0.0464 USD입니다. 한 달에 약 35달러입니다. 조금 가파르지만 그만한 가치가 있습니다.
  • AMI의 경우 Deep Learning AMI GPU PyTorch 1.12.0(Ubuntu 20.04) 20220913(ami-08e2d37b6a0129927)을 선택합니다.

  • NodeJS 설치



    출처: https://github.com/nodesource/distributions/blob/master/README.md#debinstall

    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
    sudo apt-get install -y nodejs
    


    또 다른 옵션은 먼저 노드 버전 관리자를 설치하는 것입니다.
    출처: https://github.com/nvm-sh/nvm

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    


    LTS 버전을 확인하고 최신 버전 중 하나를 설치합니다.

    nvm ls-remote
    nvm install v16.17.1
    nvm use v16.17.1
    node -v > .nvmrc
    nvm use
    


    트러플 설치




    npm install -g truffle
    truffle -v
    


    간단한 프로젝트




    mkdir fundraiser
    cd fundraiser
    truffle unbox react
    
    Commands:
    
      Contracts: Compile:         cd truffle && truffle compile
      Contracts: Test:            cd truffle && truffle test
      Contracts: Migrate:         cd truffle && truffle migrate
      Dapp: Run dev server:       cd client && npm start
      Dapp: Test:                 cd client && npm test
      Dapp: Build for production: cd client && npm run build
    


    기존 파일을 제거하고 새 파일 만들기




    rm truffle/contracts/SimpleStorage.sol
    rm truffle/migrations/1_deploy_simple_storage.js
    rm -f truffle/test/*
    
    touch truffle/contracts/Fundraiser.sol truffle/test/fundraiser_test.js
    


    기본 스마트 계약 및 기본 테스트 파일을 작성하십시오.

    // SPDX-License-Identifier: MIT
    pragma solidity >=0.4.22 <0.9.0;
    
    contract Fundraiser {}
    



    const FundraiserContract = artifacts.require("Fundraiser");
    
    contract("Fundraiser", accounts => {
        let fundraiser;
        const name = "My Fundraiser";
    
        describe("initialization", () => {
            beforeEach(async () => {
                fundraiser = await FundraiserContract.new(name);
            });
    
            it("gets the beneficiary name", async () => {
                const actualName = await fundraiser.name();
                assert.equal(actualName, name);
            });
        });
    });
    


    이 테스트는 처음에는 실패합니다. 다음 변경 사항으로 실패한 테스트를 수정할 수 있습니다.

    // SPDX-License-Identifier: MIT
    pragma solidity >=0.4.22 <0.9.0;
    
    contract Fundraiser {
        string public name;
    
        constructor(string memory _name) {
            name = _name;
        }
    }
    
    


    이 시점에서 새 프로젝트를 시작하려는 경우 다음 템플릿을 직접 사용할 수 있습니다. https://github.com/maddyonline/fundraiser . 이 템플릿은 위의 단계를 수행하고 이 단계에서 그대로 둡니다.

    템플릿을 복제하면 truffle 디렉토리에서 실행truffle test을 시도할 수 있으며 레이스를 시작할 수 있습니다.

    좋은 웹페이지 즐겨찾기