사랑하애오
article thumbnail
솔리디티 Truffle & React 서명방식 3가지
Solidity 2022. 3. 7. 15:36

솔리디티 코드를 배포하면 하나의 주소를 반환해준다. '서명'이라는 단계가 존재함 서명 서명: 블록체인 네트워크의 컨트랙트를 사용하기 직전에 나오는 확인받는 절차임 방식 메타마스크를 통해 사용자가 '확인'버튼을 눌러서 직접 서명하는 방식 (지갑을 통해 서명하는 방식)(저번 시간에 했던 방식) 사용자가 직접 서명하지만 Server를 거쳤다가 서명하는 방식 서명하기 전에 백엔드 서버에서 DB를 거쳐서 정보를 저장하고 프론트에 '확인'버튼을 누르도록 한다. 서버에서 서명까지 완료하는 작업 사용자는 메타마스크가 필요가 없다. 서명할 필요가 없어서. 서버가 바로 블록체인 네트워크에 뿌리고 그리고 사용자에게 서버가 정보르 전달해준다. 흔히 거래소임. 필요한 데이터 (어디에 넣어야 하는지) 비밀키가 필요함. 트랜잭션을..

솔리디티 투표 DApp(고급)
Solidity 2022. 2. 25. 12:13

이전 포스팅에서는 html, css, js(jQuery)로 투표 DApp을 구현했는데 이번에는 리액트로 구현해보겠습니다. ReactJS 프로젝트 설정 mkdir VotingDapp-React cd VotingDapp-React truffle unbox react . 트러플 모듈 중 하나인 unbox를 활용해 쉽게 구조를 잡을 수 있습니다. 위와 같은 방법 이외로는 npx(node package execute) 혹은 yarn을 활용해 npx create-react-app VotingDapp-React or yarn create react-app VotingDapp-React 로 React앱을 만들고 cd VotingDapp-React truffle init 이렇게 두번에 걸쳐 만들어야 하기 때문에 위의 방..

article thumbnail
솔리디티 투표 DApp(중급)
Solidity 2022. 2. 24. 15:21

스마트 계약과 상호 작용하고 자체 스마트 계약을 배포하고 계약 주소를 사용하여 상호 작용하는 고급 전자 투표 dApp을 구축합니다. 이 dApp을 개발하기 위해 우리는 Trufflesuite 프레임워크를 계속 사용할 것입니다. 참고로 Trufflesuite 는 EVM 호환 블록체인에서 분산 애플리케이션(dApp)을 시작하기 위한 툴킷입니다. Truffle을 사용하면 스마트 계약을 작성 및 Compile하고 Migration을 실행하여 계약을 배포하고 배포된 계약과 상호 작용할 수 있습니다. 이 포스팅은 EVM(Ethereum Virtual Machine)의 Ganache와 MetaMask와 함께 Truffle을 사용하는 방법을 썼씁니다. 요구 사항 NodeJS v8.9.4 이상. 함께 설치할 수 있는 트..

article thumbnail
솔리디티 OpenZeppelin & Ropsten 테스트넷 배포
Solidity 2022. 2. 17. 13:10

기본 세팅 ganache metamask truffle init truffle-config.js 수정하기(네트워크 부분) openzeppelin 블록체인은 불변성이 있다. 하지만 오픈 제펠린을 통해서 컨트랙트를 수정할 수 있다. proxy contract나 logic contract를 수정할 수 있다. 그러나 함수호출을 abi를 통해서가 아닌 직접 호출로 처리하는 방법을 알아야 사용이 용이하다. GAS 수수료를 소비자가 아닌 smart contract 소유자가 내는 것으로 바뀌었다. 기본적인 함수들이 여기에 구현이 잘 되어 있다. MEW 연결 my ether wallet https://www.myetherwallet.com/ 여기서 메타마스크를 연결하게 될 것이다. 나는 여기서 0이 떴지만 smart c..

article thumbnail
블록체인, 솔리디티 ERC-20 토큰 만들기 (직접 코딩해서)
Solidity 2022. 2. 15. 15:03

토큰 만드는 방법 직접 개발(규격 그대로 코딩하는 행위) 기존 있던 코드를 응용해서 (솔리디티의) 라이브러리 사용 메인넷까지 자체 개발 ->알트코인 eip20 규격의 함수들 https://academy.binance.com/ko/articles/an-introduction-to-erc-20-tokens#what-can-erc-20-tokens-do 여기에 기본 함수들에 대해 잘 설명이 되어 있다. totalSupply function totalSupply() public view returns (uint256) 콘트랙트가 보유하고 있는 토큰의 전체 공급량을 반환한다. balanceOf function balanceOf(address _owner) public view returns (uint256 bal..

article thumbnail
블록체인 ERC-20 토큰 만들기(이더리움 테스트넷)
Solidity 2022. 2. 14. 12:46

Block구조 이더리움 Block Header 이더리움 블록헤더의 구성요소 부모해시(parentHash) : 부모 블록의 해시값 엉클해시(uncleHash) : 현재 블록의 엉클 블록들의 해시값 주소(beneficiary) : 채굴 후 해당 트랜잭션의 수수료를 받을 계정 주소 상태루트(stateRoot) : 계정의 상태정보가 모여있는 머클 패트리시아 트리의 루트 노드 해시값 트랜잭션루트(transactionsRoot) : 블록의 모든 트랜잭션에 대한 머클트리의 루트노드 해시값 영수증루트(receiptsRoot) : 해당 블록 내 모든 트랜잭션에 대한 일종의 영수증 머클트리의 루트노드 해시값 로그블룸(logsBloom) : 로그 정보를 사용하는데 필요한 32바이트 블룸필터 난이도(difficulity) :..

article thumbnail
솔리디티 이더리움 리믹스로 SimpleCoin 구현 해보기
Solidity 2022. 2. 11. 13:17

리믹스 솔리디티 온라인 개발 도구인 리믹스 솔리디티를 사용하면 솔리디티 언어를 이용해서 코드를 작성하고 컴파일, 배포 등을 손쉽게 확인해 볼 수 있다. https://remix.ethereum.org/ 솔리디티 코드 몇 줄만으로 간단한 트랜잭션 생성 및 잔고 확인 기능을 구현할 수 있다. ​ 위의 경로로 들어가보면 아래와 같은 메인페이지가 나온다. ​ 처음 들어가면 좌측 상단에 default_workspace라는 워크스페이스가 있을 것이다. 내부 폴더 중 contracts 안에 SimpleCoin.sol 이라는 파일을 하나 만들어주자. ​ SimpleCoin.sol 파일이 생성되면 아래 코드를 작성해보자. (솔리디티 문법에 대한 것은 나중에 크립토 좀비를 이용해서 공부할 예정) pragma solidit..

article thumbnail
솔리디티 Truffle 과 이더리움 기본 설정
Solidity 2022. 2. 11. 11:39

저번 포스팅에서 npm install -g truffle truffle을 설치하였는데 이를 이용해 이더리움 관련 테스트를 진행할 수 있다. 위와 같이 truffle을 쓰고 싶은 디렉토리에서(Solidity로 코딩된) Compile을 해줄 것이다. 그래서 Node.js를 자주 쓰는 우리는 npm init 처럼 truffle init을 이용해 truffle을 초기화할 것이다. truffle -v 일단 그전에 truffle이 잘 설치되었는지 확인을 꼭 해주고 truffle init 을 해주게 되면 // 디렉토리 contracts migrations test // 환경변수 truffle-config.js 이렇게 초기화가 완료된다. 이로써 우리는 truffle에 대해 쓸 수 있는데 친절한 우리 금자씨처럼 이더리움..