본문 바로가기

eth4

[220713] 스마트 컨트랙트 구현하기 - 2) 백엔드에서 요청보내기 React로 프런트 구조 짜기 트랜잭션을 일으키려면 개인키(privateKey)가 필요하다. 하지만 프런트에서 직접적으로 개인키를 사용하기엔 보안이 위험하다. 집적적으로 사용하지 않기 위해 메타마스크(월렛)를 사용해 서명 처리를 할 것이다. 따라서 화면 -> 메타마스크 -> 이더리움 네트워크 이렇게 거쳐가도록 구성을 짤 것이다. React로 메타마스크와 web3 연결하기 메타마스크와 연결해서 계정 정보를 가져오고 web3를 연결하는 코드를 작성한다. // react/src/hooks/useWeb3/jsx import React,{useEffect, useState} from 'react' import Web3 from "web3/dist/web3.min" const useWeb3 = () => { con.. 2022. 7. 14.
[220712] 트러플로 스마트 컨트랙트 만들기 트러플 설치하기 install을 한 후에 잘 설치되었으면 truffle version의 결과가 나온다. $ npm init -y // 편한대로 둘 중에 하나 골라서 설치 $ npm install truffle $ npm install -g truffle (전역설치) $ truffle version // 이게 안되면 아래코드 사용 $ npx truffle version //트러플이 전역설정이 안 되어있어서 npx를 사용하는것 메타마스크에 ganache 네트워크 생성해서 계정 불러오기 트러플 세팅하기 $ npx truffle init 코드를 작성하면 트러플로 개발환경을 만들어주는데, 다음과 같은 파일과 디렉토리가 생성된다. 여기서 트러플을 사용하는 목적이 솔리디티 코드 작성과 배포관리라는 것을 알 수 있다... 2022. 7. 12.
[220630] 이더리움 private 네트워크 생성 / peer 연결하기 제네시스 블록을 생성하기 위한 초기값을 설정하기 // genesis.json { "difficulty": "200000", "gasLimit": "3100000", "alloc": {}, "config": { "chainId": 7722, "homesteadBlock": 0, "eip150Block":0, "eip155Block":0, "eip158Block":0 } } chainId 제네시스 블록 외에도 chainId가 맞아야 채널을 열 수 있다. 채널넘버는 7722로 작성했다. alloc 제네시스 블록을 생성할때 해당 계정에 밸런스(잔액)를 기본적으로 넣고 시작할 수 있는 요소. ( 예를 들어, 시작부터 다른 사람에게 금액을 보내야할때 생성해야할때 작성. ) homesteadBlock 이더리움은 총 .. 2022. 7. 8.
[220627] private 네트워크 생성 / GETH GETH란? GETH는 이더리움재단이 제공하는 공식 클라이언트 소프트웨어로, Go 언어로 개발되었다. Go ETHereum을 줄여서 GETH. 네트워크 내의 다른 이더리움 클라이언트(노드)에 연결하는 작업을 먼저 시작하며, 블록체인의 전체 사본을 내려받는다. 블록체인의 복사본을 최신 상태로 유지하기 위해 끊임없이 다른 노드와 통신하려한다. 블록을 채굴하며, 블록체인에 트랜젝션(tx)을 추가하고, 검증하고 실행한다. RPC를 통해 상호작용할 수 있는 API를 노출해 서버 역할을 하기도 한다. EVM을 생성할 수 있는 Geth Javascript console 프로그램이 포함되어 있다. EVM은 이더리움 기반의 가상머신에서 실행되는 이더리움 가상머신의 약자다. go 설치 $ go version // vers.. 2022. 7. 6.