본문 바로가기

블록체인17

[이더리움개발101] Truffle Console 사용 Truffle의 초기화 및 배포 방법은 아래를 참조한다. [이더리움개발101] Truffle, Ganache-cli 설치, Initial 배포 1. 이더리움 배포와 테스트를 위한 Truffle(배포), Ganach-cli(테스트) 설치 > npm install truffle -g > npm install ganache-cli -g 2. 설치 후 version 확인 > truffle version Truffle v5.5.7 (core: 5.5.7) G.. magoker.tistory.com 여기서는 Truffle Console을 통해 계약서에 접근하는 방법을 본다. Truffle Console은 geth를 대체한다. 우선 계약서(Lottery.sol)에 일부 테스트할 내용을 추가한다. getSomeValu.. 2022. 4. 18.
[이더리움개발101] Truffle, Ganache-cli 설치, Initial 배포 1. 이더리움 배포와 테스트를 위한 Truffle(배포), Ganach-cli(테스트) 설치 > npm install truffle -g > npm install ganache-cli -g 2. 설치 후 version 확인 > truffle version Truffle v5.5.7 (core: 5.5.7) Ganache v^7.0.3 Solidity - 0.8.13 (solc-js) Node v16.13.2 Web3.js v1.5.3 3. Truffle 초기화 > truffle init > tree . ├── contracts │ └── Migrations.sol ├── migrations │ └── 1_initial_migration.js ├── test └── truffle-config.js 4. S.. 2022. 4. 18.
[블록체인 구조] 메인넷들의 합의 알고리즘 차이 블록체인 주요 메인넷들의 합의 알고리즘 차이는 대략적으로 아래와 같다. 이더리움(Ethereum) 1.0은 비트코인과 같은 PoW(작업증명, Proof of Work)다. 해시를 누가 더 많이 풀었냐에 따라 블록 생성 권한이 주어진다. 이에 반해, 2.0은 Sharding과 PoS(소유증명, Proof of Stake)를 사용한다. Sharding은 데이터 블록을 나누어서 풀도록 하는 것이고, PoS는 암호화폐를 지갑에 많이 갖고 있으면 블록 생성 권한을 준다. 클레이튼(Klaytn) 작업증명(Proof of Work)을 사용하지만, 합의 알고리즘에 참여하는 노드(Consensus Node)들을 따로 두는 것이 차이다. End Point Node 들은 그저 생성된 블록을 전달 받아 이용하고, 합의에는 참.. 2022. 3. 26.
[NFT 101] 블록체인 테스트 개발 계정설정 블록체인 개발을 위한 테스트넷 설정은 아래의 순서를 따른다. 이더리움의 사이드체인인 Polygon의 테스트넷을 사용하였다. 1) 브라우저에 Metamask 설치 및 지갑 설정 크롬이나 에지(safari는 현재 지원하지 않는다)에 metamask extension을 설치하고, 기존에 설정한 계정을 가져오거나 새로 생성한다. 2) 테스트넷 네트워크 설정 '이더리움 메인넷'이라고 되어 있는 부분을 누르면 네트워크 추가 버튼을 확인할 수 있다. 아래의 정보를 쳐 넣는다. Polygon의 테스트넷이다. 기본적으로 0.5Matic을 받게 되는데, 이 정도면 테스트하는데 충분하다. 추후에 요청하면 더 제공해 준다. 3) 추가 계정 생성 추가 개발(이를테면, 상호 아이템을 주고 받는다든가)을 위해 별도의 계정을 생성할.. 2022. 3. 25.
[NFT 101] Frontend 개발 Frontend는 React로 구성되어 있고, 하단에 소스를 첨부하였다. 내용이 길어 주요 부분만 기록해 둔다. const [account, setAccount] = useState(""); const getAccount = async() => { try { if (window.ethereum) { const accounts = await window.ethereum.request({ method: "eth_requestAccounts" }); setAccount(accounts[0]); } } catch (error) { console.log(error); } }; useEffect(() => { getAccount(); }, [account]); window.ethereum.request로 metam.. 2022. 3. 25.
[NFT 101] Contract 개발 NFT 개발의 맛만 보기 위해, 가장 기본적인 내용들만 스스로 만들어 보면서 간단히 실행해 본다. Contract를 만들어 배포하고, 간단한 React App으로 Contract를 통해 민팅된 값들을 불러올 것이다. 구체적으로는 제품을 구매 이력을 스마트 컨트랙트로 남기고, 구매 이력을 불러오는 것이다. 모두 불러와서 꾸미는 건 귀찮고, 간단히 구매한 제품 이미지만 불러올 것이다(향후 추가 개발 시에 번거롭지 않도록 contract은 모두 구성해 두었다). 아래 그림은 세탁기 1대, 냉장고 1대를 민팅한 것이다. Contract를 만들어 배포하는 방법은 아래를 참조한다. [NFT 101] Remix 설치와 Contract Compile, 배포 DApp Contract를 개발하는 가장 쉬운 방법은 Remi.. 2022. 3. 21.