Ethereum 7

[Remix IDE] Opensea 마켓에 NFT 토큰 생성해서 올려보기

목차 - NFT토큰과 그냥 토큰과의 차이점 - remix IDE로 NFT 토큰 생성해보기 - Opensea 마켓에 등록해보기 NFT토큰과 그냥 토큰과의 차이점 ERC 20 - Token fungible Token ERC-721 - Token Non-funfible Token fingible Token : 토큰을 값어치로 표현한다. 1개에 천원이면 2장 이천원 NFT - 토큰마다 가치가 다른 것. code로 구현하자면 어떤 느낌일까? 토큰이 생성될 때마다 고유키 값을 부여해주면 된다.(민팅) mint(msg.sender, 1) address) public owned; 가 존재한다. 키 값을 넣으면 계정주가 나옴. 영화관에 돈 넣으면 나오는 티켓처럼. 가치가 달라질 수 있음 (암표라던가.) 그래서 오늘 할 ..

[스마트 컨트랙트] 투표 dApp 만들어 보기

트러플을 활용해서 투표 기능이 있는 간단한 dApp 코드를 간단하게 작성하고 jest로 테스트 해보겠다. 목차 - sol코드 - jest코드 mkdir truffle cd truffle truffle init 터미널 새로열고 npx ganache-cli trffle-config.js development 부분 주석해제 truffle/contracts/Voting.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; contract Voting { string[] public candidateList; //배열 정의 mapping(string=>uint8) public votesReceived; // 키값에 string을 넣으면 uint8으로 valu..

[ truffle, 스마트 컨트랙트 ] 솔리디티 event 사용해서 dApp 간단하게 구현해보기

목차 - 솔리디티 event - dApp 구현 - 디렉토리구조 - 코드 구현 오늘은 솔리디티 event에 대해서 알아 보겠다. event 라는 것은 블록체인 네트워크의 블록에 특정값을 기록하는 것을 말한다. 예를들어서, 송금하기 라는 함수가 있다고 가정하였을때, 송금하기 버튼을 누르면, 누른 사람의 계좌와 금액이 이벤트로 출력이 되어서 블록체인 네트워크 안에 기록이 된다. 이렇게 로그를 사용하여, 블록에 각인시키는것은 일반적으로 string 이나 다른 값들을 스마트컨트랙에 저장하는것보다 효율적이다. 이전 글(바로가기)에 이어서 코드를 조금 수정하는 방향으로 event를 사용해서 dApp을 구현하겠다. 디렉토리 구조 이제 카운터만 되는... dApp 구현을 위한 코드를 작성해보겠다. 초기설정하기 터미널을 ..

[web3] web3 연결 테스트

이전 글과 이어집니다. 전 글의 테스트 코드입니다. explorer 디렉토리 생성해서 npm install jest web3 block.test.js const Web3 = require("web3"); describe("Block", () => { let web3; it("web 연결 테스트", async () => { web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:9000")); const block_number = await web3.eth.getBlockNumber(); console.log(block_number); // for (let i = 1; i { const tx = web3.eth.getTransaction( "0..

블록체인 2022.07.01

[이더리움] geth puppeth 이용하여 private network 구성하기(리눅스 환경)

작업할 디렉토리 하나 생성해라. datadir로 사용할 예정 mkdir `node` node라는 제목의 디렉토리를 하나 생성해주겠다. 1. 새 계정을 하나 생성해준다. geth --datadir node account new 1234 1234 node/keystore 디렉토리 안에 새 계정이 생긴다. 2. go-ethereum 디렉토리 들어가서 make all 을 해서 puppeth ,bootnode를 다운 받을 것이다. 일다 오늘은 puppeth만 사용할 것이고, make all을 하면 자동으로 다 받아진다. puppeth : geth 환경설정 해주는 모듈 3. make all 이 종료되면, puppeth 위처럼 나와야한다. 만약 없다고 나오면 source ~/.profile 실행후 puppeth 4...

블록체인 2022.07.01

[이더리움] Geth로 다른 블록노드와 연결하기(리눅스 환경)

목차 - 개인키 파일인 json 생성해서 메타마스크 로그인 - geth 명령어 - geth 모듈 사용해보기 - private 네트워크 구성하기 제니시스, 체인네트워크로 나만의 네트워크 생성하거나, 코인 만들때 web3 라이브러리 같은 것들을 이용하는 것들은 geth부터 시작이다. 즉, geth가 이더리움의 근본이다. 앞으로 일어질 결과들은, go 언어와 geth 다운로드를 했다는 전제하에 이루어진다. 개인키 파일 생성하기 cd ~/.ethereum ls ~/.ethereum 디렉토리 안에 geth, keystore가 있는 것을 확인할 수 있을 것이다. (geth,ipc, history 일단 무시.아직 없는 게 맞음) 여기서 keystore는 내 개인키저장공간, geth는 chaindata 가 담긴 공간이..

블록체인 2022.06.30

[이더리움] 리눅스 환경에 Go lang(Go 언어), Geth 설치하기

1. 리눅스에 Go 설치하기. (필자는 윈도우지만, VM으로 리눅스 설치했음) sudo apt-get update sudo apt-get install golang -y wget https://dl.google.com/go/go1.18.3.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz 가장 최신이 1.18.3이기 때문에 받음. 아래 링크에서 가장 최신의 버전을 확인할 수 있다. 터미널 말고 아래 링크를 통해 직접 다운로드 하는 방법도 있다. https://go.dev/dl/ Downloads - The Go Programming Language Downloads After downloading a binary rele..

블록체인 2022.06.27