본문 바로가기
반응형

Ethereum10

이더리움 solidity 스마트 계약 truffle 이용해서 테스트 하기 . console test solidity로 이더리움 스마트 계약을 만들었다면 생각대로 처리가 잘 되는지 검증을 위해 테스트를 해야 겠죠. 상태변수에는 값이 제대로 들어가는지 함수 결과가 맞는지 지갑 주소는 무엇인지 parameter 인자값을 임의로 변경해서 테스트하기 등... truffle에 내장된 test 기능을 이용해서 쉽게 테스트 해볼수 있습니다. ● truffle console 접속 truffle console --network [네트워크 이름] 사설 테스트넷에 접속해서 이더리움 블록체인에서 테스트를 진행합니다. C:\pjdapp>truffle console --network localnw truffle(localnw)> ▶ truffle(네트워크 이름)이 나오면 정상 접속된거에요. ♣ truffle-config.js 파.. 2022. 9. 25.
이더리움 DApp 개발 . Truffle + Ganache 연동 . smart contract 배포 이전까지 DApp 개발을 위한 필요한 프로그램 설치였다면 이제 이 프로그램들을 연계해서 이더리움 블록체인을 체험해 보겠습니다. Truffle - solidity 개발 환경 Ganache - 이더리움 블록체인 로컬 네트워크 환경 MetaMask - 이더리움 지갑(계정) Truffle로 스마트 계약을 만들어 Ganache 블록체인에 배포해서 Metamask 지갑에 ether가 송금되는지 확인합니다. 하나씩 해보겠습니다. ■ Truffle과 Ganache 연동 트러플과 가나슈 연동을 위해 네트워크 설정을 맞춥니다. ganache를 실행하면 아래처럼 Network ID와 RPC Server 정보가 설정되어 있어요. 가나슈를 기준으로 트러플을 설정하겠습니다. ● 우선 이더리움 사설 네트워크의 기본 NETWORK .. 2022. 9. 24.
이더리움 DApp 개발을 위한 Truffle(트러플) 설치하기 . solidity 컴파일 Truffle는 이더리움 스마트 계약(Smart Contract)을 만드는 개발 언어인 solidity를 컴파일하고 스마트 계약을 테스트를 할 수 있으며 배포까지 할수 있는 개발 환경입니다. http://trufflesuite.com/ TRUFFLE에 대해 아래와 같이 설명되어 있네요. 개발자로서의 삶을 더 쉽게 만드는 것을 목표로 하는 이더리움 가상 머신(EVM)을 사용하는 블록체인을 위한 세계적 수준의 개발 환경, 테스트 프레임워크 및 자산 파이프라인. 트러플은 node.js 플랫폼에서 npm 명령어로 설치할 수 있습니다. 트러플 홈페이지에 설치 명령어가 있네요. ngm install truffle -g npm은 node.js를 설치하면 자동으로 설치되는 패키지 관리 툴입니다. ♣ truffle 폴더.. 2022. 9. 23.
이더리움 로컬 개발 플랫폼 Ganache 설치하기 가나슈는 크림을 섞어 만든 초콜릿이란 뜻이며 설치하면 아이콘 모양도 크림 바른 초콜릿입니다. ■ Ganache . 가나슈 로컬 PC내에서 이더리움 블록체인 가상 네트워크를 생성해서 스마트 계약 트랜젝션을 송신할수 있고 MetaMask 지갑으로 송금도 할수 있는 저같은 왕초보에게는 안성맞춤인 이더리움 개발 툴입니다. 아시겠지만 메인넷에 스마트계약을 배포하거나 트랜젝션을 발생하면 삭제 불가능합니다. ^^;; 가나슈는 내PC안에서 모든 걸 하기때문에 실수해도 전혀 부담없이 편하게 개발할수 있어요. Ganache와 MetaMask 연동으로 이더리움 블록체인 개발을 할수 있어요. ● ganache 접속하기 https://trufflesuite.com/ganache/ ● Ganache 다운로드 하단에 DOWNLOA.. 2022. 9. 22.
이더리움 지갑 metamask 가입 설치하기 DApp 개발에 꿈꾸며 이더리움 지갑을 만들려고 찾다 보니 대부분 메타마스크를 사용하는거 같아 저도 메타마스크를 이용하려고 설치 진행합니다. ● 크롬에서 metamask를 검색하세요. https://metamask.io 클릭하세요. ● Download now 클릭하세요. ● Chrome 선택 밑에 《Install MetaMask for Chrome》 클릭하세요. ● chrome 웹 스토어 오른쪽 《Chrome에 추가》 클릭하세요. ● 확장 프로그램 크롬 브라우저 확장 프로그램 추가합니다. ● 동기화 MetaMask를 크롬 로그인 아이디와 동기화해서 다른 컴퓨터에서도 사용하려면 《동기화 사용...》 클릭하세요. 이럴 필요까지는 없을 거 같아 오른쪽 위 X 클릭해서 빠져나왔어요. 간단하게 설치가 끝나고 환영.. 2022. 9. 22.
solidity 0.5.16 프로그램 기초 배우기 . 스마트 계약(Smart Contract) 스마트 계약(Smart Contract)이란 이더리움 블록체인에서 동작하는 응용 프로그램입니다. 쓰지 않는 중고 물품을 공유하는 응용 프로그램을 만들어 블록체인에 배포하면 블록체인 참가자들이 다양한 클라이언트나 브라우저를 이용해서 중고 물품 리스트를 확인하거나 등록해서 공유할 수 있습니다. 이더리움 스마트 계약 개발에 사용되는 프로그래밍 언어로는 solidity , serpent , LLL 등이 있는데요. 아시겠지만 많이 사용되는 solidity 대세입니다. Solidity는 코딩해서 컴파일 과정을 거쳐 바이트코드를 만들어 배포하는 정적 언어로써 대규모의 프로그래밍도 가능하고 안정적입니다. 객제지향 언어이며 Class가 있는 C++ , Java와 매우 흡사합니다. solidity만의 고유의 문법이 있어 .. 2022. 9. 21.
이더리움 geth 멀티 노드 테스트하기 . private test network 블록체인에 참가하는 모든 참가자(노드)는 항상 동일한 블록 정보를 보유하고 열람할 수 있고 공유됩니다. 한 곳에서 발생한 액션이 같은 블록체인 네트워크에 있는 모든 참가자들에게 전송해서 공유되는지 그리고 내가 이더리움 네트워크에 대해 이해한 게 맞는지 확인을 위해 멀티 노드를 구성해서 테스트해봤습니다. ● 채굴하기 TestNet_1 노드에서 채굴을 하면 TestNet_2와 TestNet_3에 블록 생성 알림이 가는지 노드간에 자동으로 통신이 되는지 확인해 봅니다. ◆ TestNet_1 [tmach@localhost shell]$ geth attach rpc:http://localhost:3331 Welcome to the Geth JavaScript console! instance: Geth/v1.10... 2022. 9. 21.
이더리움 geth JSON-RPC를 이용한 HTTP 웹으로 사용하기 리눅스에서 go-ethereum 클라이언트 설치 후 계속 Geth 콘솔을 통해 테스트넷 구성과 각종 명령어로 작업을 했었네요. 웹에서 geth를 접속해서 각종 명령어 작업을 할수 있다는걸 알게 되어네요. go-ethereum 클라이언트가 설치하면 JSON-RPC 기능도 같이 설치된다고 합니다. RPC란 remote procedure call, 리모트 프로시저 콜 원격의 다른 PC나 서버의 명령어나 기능(함수) 등을 마치 내 PC 로컬에서 실행하는거 처럼 처리해주는 프로세스간의 통신 기술입니다. Geth에 HTTP로 RPC기능을 구현한 HTTP-RPC 서버가 내장되어 있어 geth에 console로 접속하지 않아도 이용할수 있을거 같네요.ㅋ ● HTTP-RPC 모드로 geth 기동 명령어 기존의 테스트넷 .. 2022. 9. 21.
이더리움 Geth 개인 테스트 네트워크 구축 . genesis.json 이더리움의 네트워크는 크게 두가지 있습니다. 라이브 네트워크와 테스트 네트워크인데요. 네트워크를 줄여서 넷으로 표현할게요.ㅋ 라이브넷(메인넷)은 실제로 공개되어 지금도 전 세계 노드들이 참가해서 채굴도 하고 거래도 하는 공개 블록체인이며 라이브넷에서 채굴된 ether가 가상화폐 거래소에서 사고팔고 하고 있죠. 아시겠지만 블록체인은 클라이언트만 설치해서 아무나 다 참가할 수 있어요. 테스트넷은 말 그대로 이더리움 플랫폼을 이용해 아무나 테스트을 할 수 네트워크 영역입니다. 테스트넷은 또 두가지로 나눠지는데요. 첫번째는 라이브넷과 동일하게 전세계 노드들이 참가해서 테스트하는 Morden 테스트 넷 두번째는 개인 테스트를 위한 노드 한개 또는 노드 개수가 제한된 사설 테스트넷입니다. 라이브넷과 테스트넷은 별개.. 2022. 9. 19.
이더리움 클라이언트 Geth 설치하기 . 실행 환경 설정 나만의 블록체인을 만드는 게 목표입니다. 이더리움 소개는 구글링하면 자료가 많으니 생략합니다. 이더리움 클라이언트는 이더리움 블록체인 네트워크에 참여하는 노드(컴퓨터)입니다. 이더리움이 프로그램에서 어떻게 동작하는지 알아보기 위해 이더리움 클라이언트를 설치 한 후에 테스트 네트워크를 구축해서 채굴도 해보고 거래도 해볼거에요. ■ 이더리움 클라이언트 종류 클라이언트 개발 언어 go-ethereum (geth) Go Parity Rust cpp-ethereum C++ pyethapp Python ethereumjs-lib JavaScript Ethereum(J) Java 다양한 클라이언트 중에서 가장 많이 사용되는 go-ethereum (geth)를 선택했어요. github 저장소에 있는 geth 소스를 다.. 2022. 9. 19.
반응형