본문 바로가기
  • 개발 / 공부 / 일상

Blockchain32

(BlockChain) Interface IERC20 / ERC20 Token 구현 Solidity의 interface 다른 컨트랙트와 상호작용이 가능 You can interact with other contracts by declaring an interface 자식 컨트랙트를 위한 틀, 추상 함수로만 구성되어야 한다 추상 함수 : 함수이름, 매개변수, 출력만 선언해 두고 내용이 없는 함수를 뜻 TS에서의 interface처럼 정의를 하지 않고 선언만 한다 특징 함수의 기능은 정의하지 않는다, 구현하지 못한다 다른 interface에서 상속이 가능하다 다른 interface으로부터 상속을 받을 수 없다 함수는 무조건 external 옵션을 설정해야 한다 생성자를 선언할 수 없다 상태변수를 선언할 수 없다 interface IERC20.sol // SPDX-License-Identif.. 2023. 3. 9.
(BlockChain) Solidity 문법(2) https://developerjjh.tistory.com/165 (BlockChain) Solidity 문법(1) Solidity 자료형 (타입) int : 부호가 있는 정수 uint : 부호가 없다 (양수) string : 문자열 ***[] : 배열 address : 주소 관련 정보를 제공 20 크기의 이더리움 어드레스 지갑 계정 주소 | CA 종류 address.balance : developerjjh.tistory.com 메서드 옵션 접근제어 지정자 (가시성으로 분류) external : 외부 컨트랙트만 접근 가능 해당 스마트 컨트랙트 내부에서 호출하지 못하고 외부에서만 호출이 가능하도록 설정 상태변수는 external 옵션을 사용할 수 없다 internal : 내부 컨트랙트 호출 가능 해당 스마.. 2023. 3. 9.
(BlockChain) Solidity를 이용한 간단하게 Bakery 예제 작업 폴더 생성 front / back 폴더생성 각 폴더에 필요로 하는 라이브러리 및 init 설정 ( vscode Terminal ) front yarn create react-app front cd front yarn add web3 back cd back npm init -y npm i truffle npm i -D prettier-plugin-solidity npx truffle init useWeb3.js 생성 Custom Hook 생성 solidity 파일 생성 ( Bakery.sol ) // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; contract Bakery { mapping(address => uint) public breads; f.. 2023. 3. 8.
(BlockChain) Solidity를 이용한 투표 DApp 구현 express/contracts내 Vote.sol 파일 작성 // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Vote { string[] public candidateList; mapping(string => uint) public votesReceived; event Voted(string candidate, uint votes); constructor(string[] memory _candidateNames) { candidateList = _candidateNames; } function validCandidate(string memory candidate) private view returns (bool) { for (uint .. 2023. 3. 8.