truffle config.js development: { host: "127.0.0.1", // Localhost (default: none) port: 8545, // Standard Ethereum port (default: none) network_id: "*", // Any network (default: none) }, development 의 host와 portf 위와같이 설정함으로 ganache와 소통할 준비를 한다. 컴파일러는 solc의 버전 설정을 위해 사용된다. 0.8.13 버전사용의 이유는 명확하지는않다. compilers: { solc: { version: "0.8.13", // Fetch exact version from solc-bin (default: truffle's ver..
블록체인 메타마스크를 통한 이더리움 지갑연결 truffle이용한 배포및 테스트 그리고 빌드 web3라이브러리 Counter.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; contract Counter{ uint256 private value; // function setValue(uint256 _value) public { // value = _value; // } function increment() public { value +=1; } function decrement() public { value -=1; } function getValue() public view returns(uint256) { return value; } } tr..
지갑에대한 이록적인 내용 # 지갑 구성 및 지갑의 역할 - 기본적인 역할로 암호화폐를 안전하게 보관할수있고 암호화폐를 전달하거나 받을수있다. - 자산의 소유권을 암호화 방식으로 증명 지갑의 개인키를 사용해서 거래의 서명을 검증하고 본인의 자산을 관리 - 본인의 암호화폐의 보유량 확인 - 지갑의 거래내역확인 - 복구 문구를 사용해서 지갑 복원(복구 문구를 가지고 특정 알고리즘을 거쳐서 개인키를 추출한다.) ## 금융 - 금융쪽에서는 장부를 가지고 모든 거래내역을 기록하는방식 - 은행이라는 금융기관은 장부에 거래 내역으로 의존 할수 밖에 없는 중앙 집권 방식 # 분산 원장 - 분산원장은 금융과 반대로 거래에 참여하는 모든 참여자가 장부를 가지고있고 거래가 발생했을때 해당 거래 내역을 각자의 장부에 기록하는 ..
react hook 메모리 관리에도 유용하다 # react hook ## useContext ### 저삭컴포넌트들의 전역 상태 관리를 도와준다. ## useReducer ### 공식문서에 state의 대체 함수라고 나와있음 ### 다수의 하위값을 복잡한 로직으로 만드는 경우 ### 상태값을 여러가지 사용할 경우 stateqheksms ### Reducer를 사용하는것이 좋다. ### 이전 상태를 다룰경우에도 이점이 있음 ## useCallBack ### 메모이제이션 기법을 사용해서 콜백을 반환해준다. ### 컴퓨터가 동일한 연산을 반복할떄 이전연산값을 ### 메모리에 저장하고 반복수행을 줄이는것 (연산의 반복을 제거하는것) ### 최적화 시키기위해 사용하는 기법 ### 실행속도가 빨라진다. ## useM..
// AWS EC 배포하기 // 1. EC2 ubuntu로 인스턴스 // AWS 페이지에 로그인하고 서비스탭 옆에 EC2 검색 // EC2 클라우드 가상서버 클릭 // 오른쪽 상단에 아이디 옆에 지역 : 최대한 가깝게 // 한국이 안될때 거의 일본 씀 : 먼지역하면 시간 오래걸림 // 인스턴스 클릭 해서 인스턴스 창으로 이동 // 실행중인 인스턴스 있으면 중지 시키기, 종료는 인스턴스 삭제시키기임 // 인스턴스 시작 클릭 // 인스턴스 이름 작성 // 아래 애플리케이션 및 OS 이미지 => ubuntu 클릭 // 인스턴스 유형 : 프리티어 사용 가능 확인 // 키 페어(로그인) => 새 키 페어 생성 // 키페어는 절대 노출 금지 // 카톡, 메시지로 저장하지말고 이동시에 저장매체에 담아서 옮기는게 보안..
엑세스 해싱 정확히 무슨기능을 만드는지 인식하고 들어가는게 중요하다. 회원가입을 진행하면 비밀번호를 해싱해서 저장하는것. 비밀번호 탈취시에도 뚫리는시간을 오래걸리게끔 방지한다. 과정에서 암호화하는데 두가지 방법이있다. 하나는 내부 모듈 crypto 다른 하나는 외부 모듈 bcrypt bcrypt //express path mysql ejs const express= require("express"); const path= require("path"); const mysql2=require("mysql2/promise"); const ejs= require("ejs"); const joinRouter=require("./routers/joinrouter"); const loginRouter=require(..