목록전체 글 (265)
dukDukz
솔리디티 언어는 OOP 개념인데 이것을 배울 수 있는 사이트는 크립토 좀비 - https://cryptozombies.io/ko/ 10분 고민하고 안되면 next 크립토 좀비 pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; } 1. 버전 pragma solidity ^0.4.19; -> 버전을 적는 공간 왜 필요할까? 버전 업이 되면서 실행이 안되는 경우를 방지하기 위해서. 특정 버전으로 빌드하는 것. 선언해준다. 2. 메인 함수 (OOP 의 특징) contract ZombieFactory { } OOP 객체지향언어 에서 메인함수라고 보면 된다. 3. 변수 선언 u..
우리가 했던것은 블록체인 개념 중에 암호 화폐를 만든 것을 실습한 것이다. 암호화폐 안에 있는 비트코인을 배운 것이다. 암호화폐 안에는 이더리움이 속해있다. 그러면 왜 굳이 이더리움을 배워야 할까?? # 비트코인 특징 1. 라이트 코인 빌드 중에 거래 혹은 변수나 내용을 저장하는 코딩을 해야 하는 경우 2. A -> B 10개를 보내는 것을 사용하기. RPC 사용해서 sendtoaddress 이 API 를 수정하라고 한다면? => A->B 에게 보내는데 B가 확인 버튼 눌러야만 보낼 수 있게. rpc 자체를 이렇게 만들려면 못한다. 이런 것들을 이더리움에서는 쉽게!! 작성이 가능하다. (Go, Python, Java... 등등 사용이 가능하지만 주로 Solidity로 조건을 만들어서 사용한다.) 우리 입..
블록체인이라는 것은 하나의 서버(노드)가 여러대가 있고 이게 서로 연결되어있는 것들을 블록체인이다. 내 프로젝트의 아키텍쳐를 정확히 알고 있는가?? cli로 했던 것들을 이더리움에서는 ui 가 좀 있다. 이제 할 것도 우리가 했던 프로젝트와 비슷하다고 봐야함. 아키텍쳐 정확하게 인지하고 있어야 함.... 데몬이 누구랑만 소통하는지 정확히 알아야 함.. 데몬도 aws 에 올려야 한다... 데몬 (노드)에 json 형태로 블럭 헤더의 내용을 담았었는데 그거를 코인 빌드할 때 만들었던 data 폴더에 넣음 그리고 이 데몬을 돌리는 노드(컴퓨터)가 여러대 있는것. 이것들이 다 연결되어 있는거임 rpc 통신은 노드에 대한 정보를 알고 싶을때 사용하는것. 어떤 노드에 물어봐도 같은 정보가 나올 수 있어야함 (합의 ..
# DB SQL 통계 함수 스킬적으로 배울게 많다. MIN MAX SUM AVG 사용 해봐야함. ex) 캔들차트 3분봉 5분봉 일봉 주봉 월봉 최고 종가 시가 최저 3분 5분 간격으로... 오늘의 시작하는 가격, 오늘 끝나는 가격 - 거래되는 것은 transaction 거래 완료 기점으로 가격을 구해야 한다. # sequelize 는 어떤 라이브러리? ORM 이다. ORM 사용 경험 있나요? - 있다고 해야함 # transaction table 만들기 일봉에 대한 쿼리문을 만들어보자 models > tansaction.js 생성 user.js 에 있는거 복사해서 가져옴 models > index.js 에 추가 db.transaction = require('./transaction')(sequelize,S..
매수 : 사는 것 매도 : 파는 것 # DB 스키마 테이블 종류 1. order table buy / sell 2. assetsbalance table 현금에 대한 입출력 list 거래라는것은 기본적으로 2개가 있어야 한다. 돈 과 물건 혹은 물건과 물건이 교환되는 것. 거래소는 현금과 코인의 거래가 이루어진다. 현금을 갖고 있는지 파악하기 위해서 현금 입출력 내역을 저장하는 테이블이 필요하다. 총 남은 금액이 현금 자산.. 코인 같은 경우에는 내가 보낸거와 받는거 총 합 구해서 나온 결과가 내가 최종으로 갖고 있는 코인이 된다. 남은 현금 내가 지금 1000만원이 있다. 비트코인을 사려고한다면. 현재 비트코인 가격 6천 내가 매수하려 한다면 총 걸 수 있는 매수량은 0.167 1천만원은 매수 예약 걸었..
# 프로젝트를 들어가기 전에... - 기본적인 틀이 필요할 듯.. 거래소의 초점 → 백앤드에 있다고 봐야함 프론트도 리액트를 쓴다고 하면 양이 생각보다 많을거임 백엔드 기반을 만들어놔야 할 듯.. 로컬에서만 돌렸던 것을 PC 끼리 Peer 걸어서 코인을 주고 받는것을 해봐야함 업비트 빗썸을 사용한다고 하면, 내 계좌에 현금을 넣는다. - 입출금 내역 - 호가 창 만들어봐야함 React 제외하고 일단은 nunjucks 로 할거임 데몬과 express DB 까지 3개의 서버를 돌린다고 생각하면 됨. React 한다면 총 4개의 서버가 될듯. 리액트 책에 거래소 만들기 참고 데몬은 코인을 저장하는 실질적인 저장소라고 보면 될 듯 공통적으로 들어가는 부분 싹다 만들어놓고 시작하는것.- 와꾸잡는다.. [전체적인 ..
전체 코드 더보기 // url 127.0.0.1:3800 -> hello ingcoin! 출력을 해보자 const express = require('express') const request = require('request') const cheerio = require('cheerio') // npm install cheerio const app = express() // 요청 -> 응답 app.get('/', (req, res) => { res.send('hello ingcoin!') }) // 요청A - 요청B - 응답B - 응답A app.get('/naver', (req, res) => { // 요청 B - request 라는 패키지를 사용할거임 request('https://naver.com',..
오늘의 목표 → 데몬을 http 통신으로 데몬의 내용을 볼때 cli 라는걸 활용했었다. cli API 들을 배웠고... 데몬과 인터넷을 연결하고, 인터넷에서는 우리가 볼 수 있는 화면 (거래소) 를 만든다. 브라우저에 뭔가를 띄우고 한다는 뜻... 간단하게 말해서.. 이 데몬으로 요청을 보낼때, cli 로 하는게 아니라 http 통신으로 해보겠다는 것이다. cli 도 PRC 통신.. 거의 http 와 흡사하다. 그래서 http 로 요청했을 때 응답을 받을 수 있다. 그리고 응답을 받은것을 터미널에서 보여주는게 아니라 브라우저에 띄울 것이다. # 단계 1. http 요청 - 응답이 잘 오는가? 2. node js 환경(express)에서 http 요청을 한 것을 코드로 옮겨서 테스트를 해본다. (어떻게 처..