일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- node.js path
- 라우터 분리
- express.static
- nodejs파일업로드
- ws 라이브러리
- FormData()
- useEffect clean up
- 라우터와 미들웨어
- 비동기파일업로드
- css기초
- JWT 로그인 기능 구현
- 아이디 중복체크기능
- express router
- JWT 하드코딩
- buffer.from
- 라우터미들웨어 분리
- javascript기초
- JWT 만들어보기
- next 매개변수
- 블록 만들기
- 라우트 매개변수
- cookie-parser 만들어보기
- express실행
- Uncaught Error: could not find react-redux context value; please ensure the component is wrapped in a <Provider>
- 시퀄라이즈 기본설정
- useContext
- mysql wsl
- 세션으로 로그인 구현
- OAuth 카카오
- express session
- Today
- Total
목록분류 전체보기 (110)
즐코
맥 os 환경에서 vue 프로젝트를 만들고 window os에서 git clone을 받아 작업을 하려는데 아래와 같은 에러가 발생했다. 집에서 작업할땐 분명 에러가 안났는데 갑자기 왜 에러가 날까 싶었다. 찾아보니 Window와 UNIX/Linux 사이의 줄바꿈 방식 (endOfLine)에 대한 차이 때문이었다. 옛날에 쓰던 타자기 시절부터 있었던 용어라고 하는데 진짜 옛날 타자기를 생각하니 아래 방식이 이해가 된다. - CR (Carriage Return) \r : 현재 커서를 줄 올림 없이 가장 앞으로 옮기는 동작 - LF (Line Feed) \n : 현재 커서는 그자리에 그대로 둔 상태에서 종이만 한 줄 올려서 줄을 바꾸는 동작 각 os별 default 줄바꿈 방식은 아래와 같다. - window..
vue-router 뷰에서 라우팅 기능을 구현할 수 있도록 지원하는 공식 라이브러리인 vue-router를 사용하여 라우팅을 해본다. npm i vue-router router-link 와 router-view - router-link : a 태그와 같은 역할을 한다. to에 이동할 URL을 넣는다. a 태그와의 다른점은 reload없이 url을 이동시켜준다! 화면 깜박임이 없다. - rotuer-view : 특정 url로 이동 시 vueRouter 인스턴스 상에 정의한 component 를 렌더해줄 위치를 나타낸다. // 페이지 이동 태그 // 기본적으로 화면에서는 태그로 표시된다. // 페이지 표시 태그 // 변경되는 url에 따라 각 url에 해당하는 컴포넌트가 렌더되는 영역 vue router 인..
1. initial setting CRA (create-react-app) 와 같이 전체 프로젝트 템플릿 install이 가능하다. 리액트와 마찬가지로 vue CLI는 개발 서버를 내장하고 있기에 npm run serve로 서버 실행이 가능하다. npm i -g @vue/cli vue create [project 폴더명] // vue2 || vue3 중 선택 보통은 Default vue2 || Default vue3를 설치하지만, 프로젝트에 따라 manually 설정하고 싶다면 "Manually select features" 옵션 선택 1. 방향키와 Enter 를 사용해 "Manually select features" 옵션 선택 2. 첫 번째 메뉴에서 프로젝트에 포함하고 싶은 기능들 선택 : "Babel..
node.js 로 fix된 버전을 까는 것보다 nvm으로 깔아서 프로젝트별로 노드 버전을 관리해주는 게 좋다. 집에서 할 땐 맥os환경에서 작업하고 회사에선 window에서 작업하니 두 os환경에서의 설치방법을 간단히 정리해둔다. node.js가 깔린 상태에서 nvm을 설치하면 꼬이기 쉬우니 기존의 node.js를 전부 삭제해준다. [ Mac OS ] 1/ 기존 node.js 삭제 맥은 설치는 쉬웠으나 기존 설치된 node 삭제과정이 좀 지저분하다! 나같은 경우엔 아래 중 해당하지 않는 명령어들이 반이었는데 그래도 혹시 모르니 각 경로로 들어가서 node와 관련된건 다 지워주는 게 좋다. sudo npm uninstall npm -g sudo rm -rf /usr/local/lib/node sudo rm..
dApp store 프로젝트 시작 전 자유로운 테스트를 위해 프라이빗 네트워크를 구축해보았다. ganache나 다른 Rinkeby같은 testnet을 써도되지만 가나쉬는 서버를 끄면 계정정보 및 블록 정보가 초기화 되버리고, 다른 테스트넷 같은 경우 테스트용 이더를 받아와야하고, 거래 성사 시 시간이 조금 걸리는 단점이 있어 테스트하기엔 살짝 불편하다. 나중에 플젝 진행 시 거래, 판매 등의 테스트도 수월하게 하고, 도커도 처음 사용해볼겸,, 겸사겸사 만들어보았다. 합의 알고리즘 모든 노드가 동일한 하나의 체인을 가질 수 있게끔 해주기 위해서 합의 알고리즘을 선택해야 하는데 대표적으로 POW, POS, POA 등이 있다. 메인넷은 POW 작업증명 방식을 사용하는데, geth는 프라이빗 네트워크 구성 시 ..
해당 포스팅은 정리할까말까 고민하다가 3일 내리 놀다 굳어버린 뇌를 깨워주기위해 정리해본다,,, 저번 포스팅에선 ERC721과 그를 상속해서 nft 리스트 인덱스 정리 및 tokenId를 생성해주는 기능을 하는 ERC721Enumerable 의 흐름과 일부 함수들에 대해서 정리해보았다. 하지만 이러한 컨트랙트들은 다 openzeppelin에서 제공해주기 때문에 이번 포스팅에선 굳이 저번 포스팅처럼 일일이 컨트랙트를 작성하지 않고 오픈제플린에서 필요한 컨트랙트들을 import해서 쓸 것이다. 따라서 ,이번엔 ERC721 즉 nft 민팅, 위임, 전송과 관련된 컨트랙트와 그에 따른 nft 판매/구매를 담당하는 컨트랙트에 대해서 작성해보고자 한다. 또한 다음 포스팅에서 Next를 사용하여 nft 민팅 및 거래..
이더리움에서 제공해주는 토큰 규격 문서를 참고하여 https://eips.ethereum.org/EIPS/eip-721 ERC-721 을 직접 작성해보면서 각 함수가 어떤 동작을 하는지 익혀보려고 한다. 1/ ERC-721 인터페이스 작성 : IERC-721 // truffle/contracts/ERC721/IERC721.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; interface IERC721 { // 토큰 전송 시 호출하는 이벤트 event Transfer(address indexed _from, address indexed _to, uint indexed _tokenId); // 특정 토큰 위임 시 호출하는 이벤트 event Appr..
1/ ERC-721 현재까지 공부한 ERC-20 토큰의 경우 토큰 100개가 발행되었다면 토큰 하나하나의 의미가 같다. 풀어서 말하자면 내 계정이 보유한 토큰 1개와 다른 계정의 토큰 1개는 의미가 같다. 하지만, ERC-721은 다르다. 토큰 100개가 있다면 각각의 100개는 의미가 다르다. 마치 영화 티켓처럼 같은 영화관에서 같은 영화를 상영할지라도 좌석넘버가 다른 것처럼 하나하나 다른 토큰으로 본다. 이걸 코드로 표현하자면 토큰 하나하나에 고유키값을 부여해주는 것이다. 따라서 ERC-721을 Non-Fungible Token, NFT 라고 한다. 따라서, ERC-721 토큰 상에는 ERC-20에는 없는 특이한 상태변수가 owned가 존재한다. 토큰의 고유 키값 (uint)으로 해당 토큰의 소유자를..
이번엔 ERC20을 직접 작성하지 않고, 이더리움 재단에서 관리하는 오픈소스인 openzeppelin를 설치하여 그 모듈에서 제공해주는 ERC20 컨트랙트를 상속받아 나만의 토큰을 작성해본다. 또한 발행한 토큰과 이더의 swap에 대한 컨트랙트도 따로 작성하여 토큰-이더를 서로 주고 받았는데 이에 대한 내용을 중점적으로 포스팅해본다. 1. truffle 프로젝트 상에서 openzeppelin-solidity 라이브러리 설치 node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol 이 우리가 상속받으려는 ERC20 컨트랙트 이다. $ truffle init $ npm init -y $ npm i openzeppelin-solidity 2. 나만..
이전 포스팅에서 ERC-20의 interface IERC20 과 이를 상속한 ERC20을 정리해보았다. (이전 포스팅 : https://yjleekr.tistory.com/102?category=1284408 ) 이 ERC20 규격을 바탕으로 나만의 토큰을 작성해보고자 한다. 나만의 토큰 - YjToken 작성해보기 1/ 우선 아래 두 사실을 인지하고 작성해야한다. - 해당 스마트 컨트랙트를 배포함과 동시에 토큰이 발행(mint)된다. 즉, 스마트 컨트랙트 배포자가 토큰의 발행자 (owner)이다. - 해당 토큰은 이더로 살 수 있는 토큰이다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; import "./ERC20.sol"; contract ..