728x90
아래 그림처럼 계약서을 작성할려고 합니다
1. 주요 변수
관리자 변수
- 이 변수는 캠페인을 관리하는 사람의 주소를 저장합니다.
관리자(또는 매니저)는 캠페인의 소유자로, 다른 사람보다 높은 권한을 가집니다.
이들은 접근할 수 없는 메서드에 접근할 수 있는 특권을 가집니다. - 최소 기부금:캠페인에 기부하기 위해 필요한 최소 금액을 설정합니다.
승인자 배열:기부자들의 주소 목록을 저장합니다.
이 배열은 최소 기부금에 맞춰 기부한 사람들의 목록으로, 요청을 승인하는 역할을 합니다. - 요청 배열:관리자가 생성한 지출 요청 목록을 저장합니다.
이 배열은 계약의 핵심 요소로, 보안을 강화하는 장치 역할을 합니다.
관리자는 돈을 사용하고 싶을 때 지출 요청서를 만들어야 합니다.
2. 주요 기능
생성자 함수
캠페인이라는 이름의 생성자 함수가 있습니다.
이 함수는 계약이 처음 생성될 때 최소 기부금과 계약 소유주를 설정합니다.
- 기부 함수 (contribute):
일반 사람들이 캠페인에 기부하고 싶을 때 호출하는 함수입니다.
기부를 통해 승인자가 되고 싶다면 이 함수를 사용하여 돈을 보냅니다. - 지출 요청 생성 (create request):
관리자가 지출 요청을 생성할 수 있는 기능입니다.
이 단계에서 관리자는 돈을 공급업체에 보내기 전에 요청서를 작성하고 승인을 받아야 합니다.
즉, 단순히 많은 사람들이 찬성표를 던졌다고 해서 즉시 돈을 보내는 것이 아닙니다. - 최종 요청 (finalize request):관리자가 완성된 요청이나 충분한 승인을 받은 요청을 볼 수 있게 해주는 메서드입니다.
이 메서드가 호출되면 돈을 분산시키거나 특정 벤더에게 보낼 수 있습니다.
요청을 최종화하는 목적은 벤더가 언제 돈을 받을지를 관리자가 결정할 수 있도록 하는 것입니다.
'블럭체인' 카테고리의 다른 글
Ethereum and Solidity: The Complete Developer's Guide - 7장 (0) | 2024.11.07 |
---|---|
Ethereum and Solidity: The Complete Developer's Guide - 6장 (1) | 2024.11.06 |
Ethereum and Solidity: The Complete Developer's Guide - 5장 (0) | 2024.11.04 |
Ethereum and Solidity: The Complete Developer's Guide - 4장 (0) | 2024.11.02 |
Ethereum and Solidity: The Complete Developer's Guide - 3장 (1) | 2024.11.02 |