견고성 기초

2315 단어 solidity
간단한 설정부터 시작하겠습니다.

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;

contract Fundraiser {
    string public name;

    constructor(string memory _name) {
        name = _name;
    }
}



생성자 매개변수에 string memory 레이블이 지정되어 있습니다. 무슨 뜻인가요? 배열 또는 문자열과 같은 참조 데이터 유형을 포함하는 매개변수에는 두 가지 선택이 있습니다.
  • storage
  • memory

  • 이러한 참조 유형은 지속형 데이터( storage ) 또는 해당 데이터의 로컬 복사본( memory )을 가리키는지 알려야 합니다.

    대부분의 경우 memory가 올바른 선택입니다.

    나중에 들어갈 수 있는 calldata도 있습니다.

    Solidity는 두 가지 유형의 주소를 제공합니다.
  • 주소 유형 및
  • 지불 가능한 주소 유형입니다.

  • 차이점은 수취인 주소는 이더를 받을 수 있고 전송 및 전송 방법을 사용할 수 있다는 것입니다.

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



    // SPDX-License-Identifier: MIT
    pragma solidity >=0.4.22 <0.9.0;
    
    contract Fundraiser {
        string public name;
        address payable public beneficiary;
        address public owner;
    
        constructor(
            string memory _name,
            address payable _beneficiary,
            address _owner
        ) {
            name = _name;
            beneficiary = _beneficiary;
            owner = _owner;
        }
    }
    

    좋은 웹페이지 즐겨찾기