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

전체 글207

(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.
(BlockChain) Token Token ( 토큰 ) Ethereum 기반 블록체인에서 Peer 사이에 디지털 방식으로 양도할 수 있는 모든 자산을 Token이라고 한다 할당된 속성에 따라 분류, 용도가 다르다 종류 ERC721, ERC1411, ERC1155, ERC223, ERC621, ERC777 등 ERC20 : 가장 기본적인 토큰 ERC : Ethereum Request for Comment 이더리움 블록체인 네트워크에서 정한 표준 토큰 스마트 컨트랙트로 생성 FT 토큰 : 대체가 가능한 토큰 FT : Fungible Token → 대체 가능한 토큰 NFT : Non Fungible Token → 대체가 불가능한 토큰 사용이 매우 다양하다 교환, 가치 자산, 기본 자산의 표현, 가치가 국가통화에 대해 고정된 StableCoi.. 2023. 3. 6.
(BlockChain) Solidity 문법(1) https://developerjjh.tistory.com/169 (BlockChain) Solidity 문법(2) 메서드 옵션 접근제어 지정자 (가시성으로 분류) external : 외부 컨트랙트만 접근 가능 해당 스마트 컨트랙트 내부에서 호출하지 못하고 외부에서만 호출이 가능하도록 설정 상태변수는 external 옵 developerjjh.tistory.com Solidity 자료형 (타입) int : 부호가 있는 정수 uint : 부호가 없다 (양수) string : 문자열 ***[] : 배열 address : 주소 관련 정보를 제공 20 크기의 이더리움 어드레스 지갑 계정 주소 | CA 종류 address.balance : 잔액을 보여준다 address.transfer(amount) : gas를 .. 2023. 3. 6.
(BlockChain) Truffle로 MetaMask와 React,Express 연결 최근에 작성한 이전 게시물에서 Truffle을 이용하여 MetaMask와 React 환경의 Front를 연결했다 이번에는 거기에 Express 환경까지 연결하여 Axios 통신을 이용해 보도록 한다 먼저 Express환경을 설치할 폴더를 만들어서 다음 명령어를 실행한다 npm init -y 이후 필요한 라이브러리를 설치해 준다 npm i express cors truffle web3 truffle 라이브러리가 설치되었다면, 그 환경에 맞게 다음 명령어로 기본 설정을 해줘야 한다 npx truffle init 이 명령어가 정상적으로 작동했다면 3개의 폴더 1개의 js 파일이 생성된다 contracts Smart Contract 코드 작성 폴더이다. Solidity언어로 작성한 코드를 여기에 작성하면 된다고.. 2023. 3. 5.
(BlockChain) MetaMask와 Front(React) 연결 일단 작업할 폴더에 React 환경을 설치해주자 설정이 완료되면 쓸 때 없는 기본 제공되는 효과들은 지워주자 그리곤 입력한 값에 따라 최초 0이었던 수가 사칙연산에 따라 변하도록 하는 solidity contract 코드를 작성하자 // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract InputCalc{ int private result; constructor(){ result = 0; } function getResult() public view returns (int){ return result; } function add(int _input) public { result += _input; } function minus(int _inp.. 2023. 3. 3.
(BlockChain) Truffle 기본설정 작업하고자 하는 폴더로 이동 이후 npm i truffle 입력 truffle 라이브러리 설치 후 npx truffle init 입력 저는 오늘 날짜에 truffle-test 폴더 안에서 명령어를 입력했습니다!! 그리곤 3개의 폴더와 1개의 js 파일이 생성되었습니다 생성된 폴더 contracts : Solidity를 이용한 Smart Contract 코드 작성 폴더 migration : 배포 관련된 코드를 작성하는 폴더 test : 테스트 코드 작성 폴더 생성된 파일 truffle-config.js : tuffle 설정 파일 컴파일할 Solidity 코드 작성 // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Practice{.. 2023. 3. 2.