'2019' Blockchain developer class > Jo_roject' 카테고리의 다른 글

[dmdsite] #5. DataBase  (0) 2019.11.25
[dmdsite] #4. library  (0) 2019.11.25
[dmdsite] #3. opensource  (0) 2019.11.25
[dmdsite] #2. fail & reboot  (0) 2019.11.25
[dmdsite] #1. brainstorming  (0) 2019.11.25

[9/5 프로젝트]

ㅁ오픈소스 관련

 ㅇ참고 : GPL·AGPL·MPL…한눈에 보는 오픈소스SW 라이선스 (https://www.bloter.net/archives/209318)

 

GPL·AGPL·MPL…한눈에 보는 오픈소스SW 라이선스

부끄럽지만 용기내어 고백해볼게요. 크리에이티브 커먼즈 코리아 활동가로 지내면서 크리에이티브 커먼즈 라이선스(CCL)엔 어느정도 익숙하고 많은 사례도 접해왔지만, '오픈소스를 활용하고 오픈소스를 만들자'라고 주창하는 오픈소스 개발자로서 오픈소스 라이선스에 대한 기본 지식은 부족했습니다. 그냥 GPL, 아파치, MIT 라이선스가 주석으로 붙어 있으면 '아, 오픈소스구나'라고 생각하는 정도였죠. 많은 사람들이 가져다 쓰는 오픈소스 소프트웨어를 가져다 쓰면서도

www.bloter.net

 ㅇ개념 : 소프트/하드웨어 제작자 권리를 지키면서 원시 코드 누구나 열람가능한 소프트웨어(코딩소스 통칭)

( 위키개념 : https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88_%EC%86%8C%EC%8A%A4 )

 

오픈 소스 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 오픈 소스(open source, 문화어: 공개원천)는 소프트웨어 혹은 하드웨어의 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어 혹은 오픈 소스 라이선스에 준하는 모든 통칭을 일컫는다. 어원에 대해서는 History of the OSI 자료에 따르면, 1998년 2월 3일에 넷스케이프 브라우저의 원시 코드에 대해 어떠한 형태로 공개할까하는 전략회의에서 붙여진 새로운 용어라고 설명되어 있다.

ko.wikipedia.org

 ㅇ기타

  - 배포자 면책조항 있음. 사용  발생한 법적 사건에 대한 책임을 지지 않음.

  - 보통 저명한 회사가 만들지 않은  사용하지 않음.

  - 보통 오픈소스 이용해서 만들면, 자기 것도 모두 공개함(사용권한, 제작자들 )

 

 

ㅁ프로젝트 내용 상세(1)

 ㅇ교육용 웹사이트

  - 한글화 : 사이트 모든 영역 가능한 한글표현

  -  기능의 모듈화 : 1개의 웹페이지 안에 단순한 명령(송금)  화하여 유져가 파악하기 용이하게 .

  - 행위의 단계화 : 터미널에서의 특정행위를 위한 코딩을  때의  단계를 표현.

 

 ㅇ블록체인 커뮤니티

  - 블록체인 수강생, 비전공자들이 학습하며 정보 공유 가능한 커뮤니티.

  - 관련 뉴스, 지식, 유머 게시물 게시판/ 비전공 개발자들이 모이기 좋은 장소.

 

 

ㅁ프로젝트 내용 상세(2)

 ㅇ메타마스크(지갑)

  - 송금, 잔액확인  지갑으로서의 기능.

  - 회원가입  개인키를 받지 않고 진행할  있도록 해야함(락킹컨트랙트   메타마스크 연동기능).

  - 웹사이트(그누보드)에서 송금 function 수행할 시에 

  - 이더리움 네트워크

   ganache.cli (the command line version of Ganache) 활용으로 지갑  디앱환경 구축.  

   ㆍ가스비용 관련 : 가나쉬에서 관리자에게 제공해주는 이더토큰으로 회원들  송금수수료 해결.  

   ㆍ스마트컨트랙트 관련 : 추후 추가할 디앱과 연동이 가능하도록 준비해야함.

 

 ㅇ웹사이트(프론트)

  - 부트스트랩  그누보드 활용한 작업진행( ㅇㅈ )

  - p1. 이더리움 교육 페이지. 버튼식 교육 진행. 테스트를 통한 진단 가능.

  - p2. dapp 통한  기능(2~3). 거의 디앱기능 소개 페이지   같음.

  - p3. 이더스캔 유사 : 토큰전송상황 확인 가능한 페이지. pipe list(포트확인용 유틸), 익스플로러 사용.

 ( https://band.us/band/75840114/post/128 : 예전에 했던 . )

 ( https://docs.microsoft.com/en-us/sysinternals/downloads/pipelist : 마이크로소프트 웹페이지. )

 

Pipelist - Windows Sysinternals

Displays the named pipes on your system, including the number of maximum instances and active instances for each pipe.

docs.microsoft.com

  ㅇ디앱발굴

  - 초보자가 배울  있는 수준의 기능디앱.

  - 락킹컨트랙트 등과 같은 디앱의 기능을 알려줄  있는 페이지의 주제내용.

 

 

 

* 내일   : 디앱  솔리디티 알아보기.

 

1) https://medium.com/@weekly.teckle/%EC%B4%88%EB%B3%B4%EC%9E%90%EB%93%A4%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%9D%B4%EB%8D%94%EB%A6%AC%EC%9B%80-dapp-%EB%A7%8C%EB%93%A4%EA%B8%B0-c6ddb0c6651d

 

초보자들을 위한 이더리움 DApp 만들기

About Teckle (Technology + Tackle = Teckle)

medium.com

2) http://www.thebchain.co.kr/news/articleView.html?idxno=2386

 

[심층분석] 디앱 개발, 어디까지 온체인화 해야 할까? - 더비체인

블록체인 기반 애플리케이션, 이른바 디앱(Dapp)들이 다양한 분야에서 쏟아지고 있지만 정작 사람들이 많이 쓰는 서비스는 거의 없는 것이 현실이다. 경쟁력 있는 중앙화된 서비스들이 넘쳐나는 상황에서, 체감할...

www.thebchain.co.kr

3) https://steemit.com/kr/@project7/dapp

 

문돌이도 이해하는 스팀 디앱 (DApp)의 세계 — Steemit

(사진 출처 - 2017년이 암호화폐와 ICO의 시대, 즉 이 암호화폐라는 것이 기존의 일부 얼리어답터들에게만 논의되던 것이 광범위한 대중레벨에서 논의되고 각 국가별로 ICO에 대한 본격적인 규제가… by project7

steemit.com

 

'2019' Blockchain developer class > Jo_roject' 카테고리의 다른 글

[dmdsite] #6. Fin.  (0) 2019.11.25
[dmdsite] #5. DataBase  (0) 2019.11.25
[dmdsite] #4. library  (0) 2019.11.25
[dmdsite] #2. fail & reboot  (0) 2019.11.25
[dmdsite] #1. brainstorming  (0) 2019.11.25

[9/4 프로젝트]

9/4

주제는 이더리움 테스트넷 오라클 기술 이용한 매크로 프로젝트 시행.

포셋사이트(https://faucet.rinkeby.io) 이더요청시 ‘로봇이 아닙니다기능 때문에 진행불가.

 

Rinkeby: Authenticated Faucet

How does this work? This Ether faucet is running on the Rinkeby network. To prevent malicious actors from exhausting all available funds or accumulating enough Ether to mount long running spam attacks, requests are tied to common 3rd party social network a

faucet.rinkeby.io

UML(Unified Modeling Language) : 시스템을 모델로 표현해주는 대표적 모델링 언어

 UML 작성도구 : http://staruml.io/   , https://www.umlet.com/   (단순 PPT 제작가능)

  ※개념설명 : https://gmlwjd9405.github.io/2018/07/04/class-diagram.html

 

[UML] 클래스 다이어그램 작성법 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

ㅁ프로젝트 아이디어 재구성.

 1-1) 이더리움 실습용 사이트 제작().

 ㅇ한글화, 단계별 설명, 모듈화(기능마다 나눠진 카테고리 구성)

 ㅇ코딩 실습사이트 아님. 버튼식 기능실행으로 알아보는 이더리움 네트워크.

 ㅇ사이트 관련

  -CMD터미널  없이 웹사이트에서 구동 : 계좌생성, 채굴 .

  -기능 :ㆍ블록현황(상태) 관련 : 이더스캔 기능. ㆍ암호화폐(보상) 관련 : 계정만들기, 지갑기능실행(송금).

  -기능 :ㆍ분산원장(저장) 관련 : 스마트컨트랙트 생성.

 

 1-2) 강사님피드백.

 ㅇ커뮤니티 게시판 사이트 그누보드 이용, 코인 관련 기능 추가.

  -기존 웹프레임워크(부트스트랩) 가입인증 하는 것만 떼와서, 모듈기준 진행가능한 웹프레임워크 찾는  우선.

  -제로보드. 네이버에서 관리하는 오픈소스 CMS. GNU보드. 코인판 사이트 게시판.

  -권한. 프레임워크 설정. 오픈소스 이용.

 

 ㅇ권한관련. 상대방 컴퓨터를 명령하기 위한 .

  - 간단한 ‘데몬만듬. (내가 명령을 날리고, 쟤가 명령을 받기 위해서는  컴퓨터에 데몬이 설치되어야 ).

  - 방식1) 서버에 올라온 명령을 읽는 폴링방식. // 방식2) 노티파이 이벤트 방식(모바일 푸쉬알림 같은 ).

 

 2) 이더리움 활용 리워드 적용 교육용 사이트 제작()

 ㅇ링크바이 이더리움 이용 고유토큰 제작  사용.

 ㅇ로컬 네트워크를 메타마스크로 연결하여 지갑으로 사용.

 ㅇ디앱은 그누보드, 제로보드  오픈 소스 이용한 교육용사이트이며 커뮤니티  이더스캔 기능 확보.

 ㅇ기타 논의 내용.

  -디앱(사이트) 가입하면 자동으로 메타 마스크 연결함.

   ㆍ개인네트워크용 지갑으로 메타마스크를 이용하는 .

  -ERC20 기준으로 토큰 생성.

   ㆍ제이슨 코인베이스 최초의 돈설정을 많이많이.

  -디앱상에서 토큰으로 연결.

   ㆍ현재 투표댑, 과일가게 만드는 . 등을 보면서 디앱구실  방법 찾는 

  -회원  송금 : 수수료(링크바이의 가스) 관리자가 제공.

 

(강사님피셜)메타마스크는 매번 개인키로 접속을 한다.

 ㅇ매번 로그인 하지 않고, 개인키로 명령을 보내는 것과 같다.

  -여느 사이트 처럼 서버 DB 접속하는 것이 아니다.

 ㅇ메타마스크는 크롬의 확장프로그램이며, 크롬은 보안storage  제공한다.

 ㅇ메타마스크 최초 접속시 인풋한 개인키를 보안스토리지에 저장한다.

 ㅇ메타마스크가 가지고 있는 노드들(목록) RPC 보내면,

  - 때의 노드들(목록) 부트노드 설정시의 ‘이노드기능과 비슷하다고   있다.

  -이더리움 네트워크의 노드들로 부터 프록시를 제공받는다(RPC 대응. 응답 프록시)

 ㅇ메타마스크는 커맨드라인 인터페이스로 터미널CMD 같은 역할하는 webApp.

'2019' Blockchain developer class > Jo_roject' 카테고리의 다른 글

[dmdsite] #6. Fin.  (0) 2019.11.25
[dmdsite] #5. DataBase  (0) 2019.11.25
[dmdsite] #4. library  (0) 2019.11.25
[dmdsite] #3. opensource  (0) 2019.11.25
[dmdsite] #1. brainstorming  (0) 2019.11.25

 0. 요약

 

이더리움은 자체 블록체인을 기반, 다양한 탈중앙화 된 어플들이 작동가능하게 고안된 플랫폼 네트워크.

 

이더리움의 디앱은 스마트 계약을 이용해 쉽고 빠르게 토큰 발행가능.

 

이더리움 블록체인에선 이더가 사용되고, 디앱은 여러 분야에 적용가능한 각각 솔루션들로 그에 맞는 토큰 발행.

 

발행된 토큰은 독자적인 토큰인 듯 하지만 실제는 이더리움 생태계에서 호환 및 사용 가능.

 

)

 ○ 안드로이드 = 이더리움 플랫폼   /    그 안에 앱들 = 디앱들.

 ○ 각 앱 사용하면서 발생되는 일정 포인트를 통합 및 사용하는 건 같은 회사계열의 앱이 아니면 불가능하지만

 ○ 이더리움 플랫폼에서는 각각의 디앱이 발행한 토큰을 통합하여 현금화가 가능.

 ○ 디앱 내에서의 토큰 교환은 물론, 이더리움 플랫폼 기반의 타 디앱의 토큰과 교환 가능한데

 ○ 이를 위해 ERC-20 토큰 표준 있는 것.

 ○ 디앱들에 흩어져있는 ERC-20 표준 호환 토큰들은 나중에 통합되어 한 번에 이더로 모두 바꾸어 현금화 가능.

 

 

 

1. 배경

 

비트코인(Bitcoin) 탄생 : ‘코인개념 생성.

 ○ 2008101세대 암호화폐. 기축 통화 (국제간 결제 및 금융거래에서 통용되는 통화. ex. )

 

알트코인(Altcoin) 탄생 : 이 당시만 해도 코인들만 존재.

 ○ 암호화폐 생태계에, 독자적 알고리즘과 생태계 소유한 여러 암호화폐들 탄생

 ○ 비트코인과 유사한 이 암호화폐를 사람들은 알트코인으로 일컫음.

 

이더리움(Ethereum) 탄생

 ○ 이더리움은 비트코인에선 제공하지 않는 스마트계약 기능 소재.

 ○ 스마트컨트랙트 기능 이용으로 이더리움은 플랫폼 코인으로 영역을 확장가능해짐.

 

. 이더리움의 (코인)플랫폼 기능?

- 마치 아이폰의 앱스토어 기능.

- 독자적인 하드웨어(이더리움)를 개발하지 않고도

- 개발자들은 앱스토어에 본인의 어플 업로드 및 판매 가능 하게 되는 것.

 

 

 

2. 목적 및 생성

 

목적

 ○ 토큰을 지분으로 투자자금 모음.

  - 메인넷 개발완료 시 토큰으로 변환.

  - 메인넷 개발 전 개발할 때 까지의 자금”, “토큰거래만 가능

  - 메인넷 개발 후 자체 네트워크 통화”, “자체기능 개발 및 배포

 

 ○ 상호 호환 가능

  - ERC-20 (기반) 토큰은 이더리움과 교환 가능 및 이더리움 지갑으로 전송이 가능.

  - ex) 안드로이드 운영체제를 사용하는 네이버 지도를 카카오톡으로 바로 공유할 수 있는 것처럼.

 

이더리움의 스마트컨트랙트로 생성

 ○ 독자적 생태계 구축없이 이더리움의 기능(스마트계약)을 이용, 암호화폐를 제작하게 됨.

 ○ 이렇게 제작된 암호화폐는 ERC-20 (Ethereum Request for Comment) 토큰이라 불림.
 ○ ERC-20 기반 토큰 : 펀디엑스(NPXS), 오미세고(OMG), 비체인(VEN) .

 ○ 이오스(EOS), 트론(TRX) 등은 이더리움 기반 토큰 생성 후, 자체 메인넷을 출시로 독립적 코인으로 재탄생.

 

 

 

3. ERC-20

 

토큰?

 ○ ERC-20은 이더리움 블록체인 네트워크에서 정한 표준 토큰 스펙.

 ○ 각각의 커스텀 토큰을 관리 가능하게 해주는 기능(스펙).

 ○ 이더리움 블록체인에서 또 다른 토큰 실행위해선 ERC-20라는 스마트계약에서 코드나 기술 표준 설정필요.

 ○ (시장화폐로서) 필요한 이더리움과 호환성이 있는 모든 요구 사항의 표준은 ERC-20로 간주.

 

규칙(함수)

 ○ totalSupply (): 총발행량. 토큰이 총 몇 개 있는지 알려주고 생성되어 사용가능한 토큰 수 지정.

 

 ○ transfer (): 송금. 토큰을 총 발행 주소에서 개인 계정으로 송금가능초기 토큰 배포를 지정된 지갑으로 실행. 이 함수로 인해 ICO 토큰이 일반적으로 ERC-20 토큰으로 사용.

 

 ○ balanceOf (): 잔액. 계정 내 토큰을 반환하고, 모든 지갑의 토큰 균형을 추적.

 

 ○ transferFrom (): 사용자는 송금 기능을 사용하여 측정 토큰을 사용자가 전송하고 교환가능. 이 함수는 지갑 주소, 수령인, 송금액을 얻은 중개인처럼 작동한 다음, 거래 수행.

 

 ○ approve (): 승인. 위조 토큰 제작 방지. 토큰 총 발행 양을 확인해 트랜잭션을 허용 및 거부, 최대 토큰 수를 유지 관리하고 어떤 지갑에 어떤 토큰이 있는지 추적.

 

 ○ allowance (): 허용. 누군가 시스템을 속이고 본인이 소유한 것보다 더 많은 토큰을 보내고자 할 때, 이를 방지함. 거래가 이뤄지면 취소되며 모든 트랜잭션은 실행되기 전 유효한지 이중 확인됨.

 

 

 

4. 다른 기준의 등장

 

변화

 ○ 대부분 토큰들은 ERC-20 규정을 따르고 있는 만큼, 디앱 사용자들은 이들 토큰을 지갑에 저장가능.

 ○ 그러나 많은 디앱프로젝트들이 ERC-20을 수행할 때 발생한 토큰손실 등 ERC-20 시스템의 불완전성으로-

 ○ 이더리움 커뮤니티는 이를 수정하였고 다른 규칙들이 등장하게 됨.

 

ERC-223

 ○ 토큰을 스마트 컨트랙트에서 직접 보냈을 때 토큰 손실가능성 문제를 수정한 것.

 ○ ERC-223이 제공하는 또 다른 혜택은 토큰들이 스마트계약에서 한번에 다른 지갑으로 송금가능하게 지원.

  - 이 기능으로 지갑은 원장 업데이트를 위해 토큰 스마트 컨트랙트가 필요하지 않음.

  - 이 기능에 불러온 부산물은 가스비가 절반 정도 밖에 안됨. 두개가 아니라 하나의 기능을 확인하는 것이기 때문.

 

ERC-777

 ○ ERC-20 버그를 위한 또 다른 솔루션이 20171120일 이더리움 커뮤니티에 제안됨.

 ○ 누구나 스마트계약 주소 및 기능 확인가능. (ERC-820 기능 가져온 것)

 ○ ERC-20의 간단한 전송과 확인에서, ERC-777의 보내기 기능으로 - 본질을 바꿈으로서-

 ○ 토큰과 스마트 컨트랙트 그 자체로 보다 많은 것들을 가능하게 함.

 

ERC-721

 ○ = NFT, Non-Fungible Token, 대체 불가능한 토큰.(성질)

 ○ 개발자들에게 복수의 소유자들 사이에서 공유불가한 토큰을 개발할 수 있게 함.

 ○ 개별적인 각각의 NFT를 위한 기능과 상태를 포함할 수 있게 해줌.

 ○ 디앱 게임들에 광범위하게 적용됨. (캐릭터나 아이템을 나타내기 위해 NFT를 구현한 게임들)

 

 ○ 대표적 사례) 이더몬. 각각의 이더몬은 ERC-721 기능을 수행하는 NFT.

  - 플레이어들은 이더몬을 상호 거래가능. 누구도, 이더몬의 한 조각을 공유불가.

  - 누군가 타인에게 전송할 경우, 전체 NFT로서 전송됨.

  - 반면, 게임에서 플레이어들은 그들의 이더몬을 훈련시키고 싸우게 할 수 있음.

  - 이것은 이더몬 상태를 늘/줄이는 결과로 이어질 수 있음.

  - 게임의 육성 기능은 새 이더몬이 생성 됐을 때, NFT가 이더리움 네트워크에 만들어짐.

  - 소유권은 자동으로 액션을 요구한 개인에게 감.

 

 ○ 본질적으로 토큰이, 디앱 내에서 공유가능하고, 미래 NFT 생성에 영향주는 수집물이 되도록 함.

 ○ NFT는 무제한 공급 가능하나 대부분 디앱 프로젝트는 전체 공급량을 제한함. (NFT의 가치유지 위함.)

 

+ Recent posts