분류 전체보기 258

21.07.27 ERC-20 Token Contract

토큰의 종류 1. 스테이블 코인 달러나 유로 같은 명목 화폐의 가치에 대응하는 디지털 자산 가격 변동성이 안정적으로 유지되는 상황에서 자금 전송 가능 스테이블 코인은 담보 유형에 따라 다음과 같은 세가지 유형으로 나뉜다. ✔ 명목화폐 담보 스테이블 코인 달러나 원화 같은 화폐와 1:1의 비율로 발행하는 토큰 사용자는 발행자가 금액을 보유하고 있는지 확신할 수 없기 때문에 발행자에 대한 신뢰가 보장되어야 한다. ex) USD 테더(USDT), 트루 USD(TUSD), 팍소스 스탠다드 (PAX), USD코인(USDC), 바이낸스 USD(BUSD) ✔ 암호화폐 기반 스테이블 코인 암호화폐와 1:1의 비율로 발행하는 토큰 자신의 암호화폐를 컨트랙트에 예치함으로써 스테이블 코인 보유 가능 ex) 비트쉐어 USD,..

solidity 2021.07.28

21.07.22 Mint & Burn Token

✔Mint : ERC-20 이더리움 토큰 발행하기 (ganache, metamask, MyEtherWallet 이용) 1. ubuntu에서 토큰 발행하기 작업을 할 폴더를 하나 만든다. mkdir mint cd mint 2. truffle, npm 새 프로젝트를 생성한다. -y 옵션을 추가하면 프로젝트 환경을 모두 default로 설정하여 생성된다. truffle init ls -al npm init -y ls -al 3. 토큰 컨트랙트를 개발할 수 있는 npm 모듈인 openzeppelin을 설치한다. npm install @openzeppelin/contracts 4. mint 폴더에서 code . 명령어를 입력하여 VS code를 실행한다. 프로젝트를 생성하면 볼 수 있는 기본 폴더 구조이다. 5...

solidity 2021.07.24

21.07.21 생성자 함수

생성자 함수는 받은 인자를 해당 속성으로 추가하여 객체로 만드는 함수를 말한다. 생성자 함수의 정의는 다음과 같다. //함수랑 비슷하게 생겼긴 한데 //this로 참조하는 객체의 속성 property를 할당한다는 차이점이 있다! function 생성자명(){ this.property } 다음과 같이 생성자 함수를 호출하고 생성된 객체를 생성자 변수에 저장할 수 있다. 생성자 함수를 통해 만들어진 객체를 인스턴스라고 한다. let 생성자 = new 생성자명(); 아래는 생성자 함수를 이용하여 인스턴스를 생성한 예시이다. let coin = new Coin("이더리움", "200만원", "6%"); { this.name : "이더리움"; this.value : "200만원"; this.increment : ..

JavaScript 2021.07.22

21.07.20 DID 관련 용어 정리

SSI (Self Sovereign Identity) 중앙 기관이 신원 정보를 관리하지 않고 자신의 신원을 스스로가 독립적으로 관리하는 형태를 말한다. SSI 구성 요소 1. identifier 식별자 디지털 시스템에서 "내"가 "나"임을 증명하기 위한 식별자 // 여기에 DID가 포함된다. DID (Decentralized Identity) 탈중앙화된 ID DID 시스템 구성 요소 ✔issuer 발행기관 병원, 대학, 정부 등 자격 증명을 발행하는 기관 ✔holder 사용자 issuer로부터 받은 자격증명을 저장한다. ✔verifier 검증기관 자격증명을 요청하는 기관 // issuer와 holder가 같은 경우도 있다. W3C 표준 DID document ✔id // did : example : 12..

SSI 2021.07.21

21.07.19 jemerald : 3. 커리어

As a Programmer π 같은 사람이 되자 많은 분야를 얕게는 알아두고 두 가지 분야는 깊게 탐구하자. 인공지능과 공기역학을 그냥 수치해석 하나로 묶어서 포함하는 것이 나을려나 고민 중 블록체인 80 현재 공부하는 중인 Smart Contract 제일 깊게 공부해야 하는 DID 내 창작물 보호할 NFT 내 자산 투자할 DeFi 순으로 집중하기 인공지능 15 수치해석을 공부했어도 엄두가 안난다. 그리고 인공지능을 어디에 어떻게 적용할지 몰라서 아직 계획 보류 중 공기역학 5 CFD 오픈 소스코드로 기억 되살리기 해석 툴 기억 되살리기 현재 우선순위가 높지는 않지만 내가 이때까지 공부한 것 중에서 제일 열정을 가지고 공부했던 것이라 버릴 수가 없다. TIL Today I Learned 작성하기 내 부..

회고 및 기타 2021.07.20

21.07.19 jemerald : 다짐

인생 계획을 세워서 올린다고 해놓고 생각만 많고 행동은 미루는 내 성격 상 많이 늦어졌다. 1. 신체 2. 정신 3. 커리어 4. 인간관계 총 네 가지로 나누어 현재 내 상태를 점검하고 나만의 규칙을 정하면서 방향을 잡았다. 계획이라 바뀌거나 추가될 수는 있지만 바꿀 때는 성장하는 방향으로..! 1차 경제적 자유 : 관심 기술 분야를 다루는 스타트업에 취업 능동적으로 작업하는 것 배우기, 회사 시스템 체득하기 2차 경제적 자유 : DID와 메타버스를 연관시켜서 정확도와 접근성 모두 갖춘 정체성 찾기 플랫폼 창작 공공기관과 협력하는 비즈니스 모델 만들기(진로 교육 등) 최종 꿈 : 뉴질랜드 퀸즈타운/오클랜드에 집 사서 정원 꾸미기, 디제잉 바 차리기, 남섬 여행 다니면서 소설 쓰기, 가족 친구들 비행기 표..

회고 및 기타 2021.07.20

21.07.15 import, inheritance, storage, memory

CryptoZombies chap.2-05~08 ✔import "./zombiefactory.sol"; 동일한 폴더에 있는 zombiefactory.sol이라는 파일을 컴파일러가 불러오게 한다. solidity의 파일 확장자는 sol이다. ✔Inheritance 상속 : contract 자식 컨트랙트 is 부모 컨트랙트 contract ZombieFeeding is ZombieFactory { >>ZombieFeeding이 자식 컨트랙트이고 ZombieFactory가 부모 컨트랙트! ZombieFeeding은 ZombieFactory의 함수, 이벤트, 제어자에 접근할 수 있다. A라는 변수가 있고 B라는 배열이 있을 때, ✔Storage : string [ ] storage A = B[2]; A는 B에 ..

solidity 2021.07.16

21.07.15 mapping, msg.sender, require

CryptoZombies chap.2-01~04 ✔mapping ( key => value ) data명; (뭘로 찾을 건지 => 뭘 찾을 건지) //얘 지갑 주소가 이건데 얘의 계좌에 얼마 있는지 찾아줄래 mapping(address => uint) public accountBalance; //userId가 이건데 얘의 이름이가 어떻게 되니 mapping(uint => string) userIdToName; //좀비 ID가 이건데 얘 주소가 어떻게 되니 mapping (uint => address) public zombieToOwner; //좀비 주소가 이건데 현재 좀비 몇 마리니 mapping (address => uint) ownerZombieCount; ✔msg.sender : 함수를 호출한 주소..

solidity 2021.07.16

21.06.26 key

암호화는 특정 수신자만 키를 사용하여 데이터를 읽을 수 있도록 데이터를 변환하는 과정을 말한다. 여기서 키는 종류가 많은데 하나씩 살펴보도록 하겠다. -키의 종류 암호화용 키, 역암호화용 키 - 암호화 용도에 따라 암호화용 키 : 암호화를 할 때 사용하는 키 역암호화용 키 : 암호화된 것을 풀 때 사용하는 키 대칭키, 비대칭키 - 암호화, 복호화 과정에 따라 대칭키 : 송수진자가 같은 키를 쓰는 방식 비대칭키 : 암호화와 역암호화가 서로 다른 키를 쓰는 방식 주로 암호화할 때는 공개키를 사용하고 이를 역암호화할 때는 개인키를 사용 비밀키, 개인키, 공개키 - 공개 여부에 따라 비밀키/공유비밀키 secret key : 대칭키 방식에서의 비밀키, 주로 기호열 / 비트열 개인키 private key : 비대칭..

암호학 2021.06.30