- blockChainInAction
- ballot-app, ballot-contract : 투표
- blindAuction : 블라인드 옥션
- testDapp
- Drizzle Box
- 이더리움은 공용 코인
- erc-20, erc-721(nft) 토큰 표준
- 토크을 발행해서 이더를 받고 판다.
- STO 증권형 토큰
- 노드
- 솔리디티(언어!) 컴파일러 - 객체지향 스마트 컨트랙트 언어
- 트러플 - 프레임워크
- 이더리움 노드(web3 provider) - 가나시
- 드리즐박스 - 프론트 라이브러리
- contract 가나쉬에 배포
- truffle-config 세팅
- app 실행
- 매타마스크 로컬 가나쉬에 연결
- 메타마스크에 계정 추가할떄 가져오기로 하는게 속 편할 듯 하다. - 가나쉬에서 열쇠모양 누르면 키를 가져 올 수 있음
- non-fungible - 유일한 토큰
- Deed - 소유권 증명서
- 인터페이스임
- 3개의 이벤트 알림의 목적
- transfer: 쇼유권이 이전되었을 때
- balanceOf, ownerOf, safeTransferFrom
- approval:
- approvalForAll
- transfer: 쇼유권이 이전되었을 때
- npm install -g truffle
- truffle init -- smart contract 프로젝트 생성
- truffle unbox drizzle - 프로젝트 생성
- truffle version
- truffle compile --all
- truffle migrate 가나쉬에 배포
- truffle networks 가나쉬에 배포된 토큰 주소
- truffle console
- const YGToken = await YGToken.at("배포된 토큰 주소" // 토큰 참조
- truffle test
- truffle migrate --network development
- cd app && npm run start
- truffle console --network develop && exec ./send_u.js
- react-router
- react-router-dom
- react-bootstrap
- app - 화면 react
- contracts - 계약
- 단점
- openZeppline 버전이 너무 낮은게 설치된다. erc 코드가 구 버전이라서 신 기능 사용 불가
- 그렇다고 openZeppline 을 올리기엔 뭔가 버그가 생길것 같은 느낌이 든다.
- 만약 app 이 안뜨면 metamask 에서 network 세팅을 해본다.
- EOA 외부 소유 어카운트
- SCA 스마트 컨트랙트 소유 어카운트
- payable 수정자 balance 조정
- address: smart contract , balance 호출 가능
- msg.sender : EOS
- msg.value: 토큰 갯수
- 이더리움 블록체인을 구현한 퍼블릭 테스트 네트워크
- 니모닉 개인키가 필요 (https://iancoleman.io/bip39/)
- cd test
- truffle test testBenefitToken.js
- --compile-none // compile 없이
- truffle test testBenefitToken.js --compile-none -g "requestBenefit" testname 으로
- transaction 이 없는 function 에 대해서만 .call() 을 쓸 수 있다.