Cute Bow Tie Hearts Blinking Pink Pointer

전체 글 102

[Ubuntu]Ruby: You don't have write permissions for the /var/lib/gems/2.7.0 directory 에러

깃허브 io를 위한 bundler jekyll 를 다운로드 해야했다. 그러려면 ruby언어의 명령어 gem이 필요한데 뭐가 잘 못 된건지 ruby가 설치가 됐는데도 gem을 실행하면 Ruby: You don't have write permissions for the /var/lib/gems/2.7.0 directory 에러가 발생했다. 해결 방법 sudo apt-get install ruby-full 위의 명령어로 ruby 설치를 했다면 echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bash..

에러 해결 2022.08.19

[typescript] NFT 토큰 민팅하는 dApp 간단히 구현하기

목차 - 디렉토리 구조 - 모듈 설치 및 기본 설정 - 구현 코드 - 결과 디렉토리 구조 모듈 설치 및 기본 설정 프론트 npx create-next-app@latest --typescript front npm i @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^6 npm install web3 샤크라라는 라이브러리를 사용해서 이미 만들어져있는 리액트 컴포넌트를 사용해서 편하게 작업할 것임 백 mkdir truffle cd truffle truffle init cd contracts npm init npm i openzeppelin-solidity truffle.config.js에서 development 주석 해제 https:..

[Remix IDE] Opensea 마켓에 NFT 토큰 생성해서 올려보기

목차 - NFT토큰과 그냥 토큰과의 차이점 - remix IDE로 NFT 토큰 생성해보기 - Opensea 마켓에 등록해보기 NFT토큰과 그냥 토큰과의 차이점 ERC 20 - Token fungible Token ERC-721 - Token Non-funfible Token fingible Token : 토큰을 값어치로 표현한다. 1개에 천원이면 2장 이천원 NFT - 토큰마다 가치가 다른 것. code로 구현하자면 어떤 느낌일까? 토큰이 생성될 때마다 고유키 값을 부여해주면 된다.(민팅) mint(msg.sender, 1) address) public owned; 가 존재한다. 키 값을 넣으면 계정주가 나옴. 영화관에 돈 넣으면 나오는 티켓처럼. 가치가 달라질 수 있음 (암표라던가.) 그래서 오늘 할 ..

[스마트 컨트랙트, open-zeppelin] 토큰 <-> 이더리움 스왑 구현해보기

목차 - ERC20 - open zeppelin - ERC20 변수타입, 메서드, 함수 - 직접 구현해보기 - 테스트 코드(jest) ERC20 이더리움에는 이더리움의 표준안을 만들기 위해 유저들이 의견을 내는 게시판같은 장소가 있다. 바로 Ethereum Improvement Proposals, EIPs이다.(EIPs 링크) 이 EIPs에는 Core/Networking/Interface/ERC의 네가지 카테고리가 있다. ERC는 Ethereum Request for Comment의 준말이다. 이 ERC20은 ERC 카테고리의 20번 글이다.(ERC20 링크) 이더리움의 창시자, 비탈릭이 제안한 코인 표준안이다. 인터페이스 규약이 정의되어있는 글이라 보면 된다. OpenZeppelin 이더리움 공식 문서..

[스마트 컨트랙트] 물건 사고, 환불하는 dApp 간단히 구현

사과를 구매하고, 환불할 수 있는 아주아주 간단한 dApp을 구현해보겠다. 목차 - 디렉토리 구조 - truffle 백 - 프론트 - 메타마스크 연결 - 물건 사고, 환불해보기 디렉토리 구조 Truffle 배포하기 터미널 열고 npx ganache-cli 다른 터미널에 mkdir truffle cd truffle truffle init truffle/contracts/AppleShop.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; contract AppleShop{ mapping (address => uint) myApple; //address를 넣어주면 uint(정수)값이 튀어나온다. function buyApple() public paya..

[스마트 컨트랙트] 투표 dApp 만들어 보기

트러플을 활용해서 투표 기능이 있는 간단한 dApp 코드를 간단하게 작성하고 jest로 테스트 해보겠다. 목차 - sol코드 - jest코드 mkdir truffle cd truffle truffle init 터미널 새로열고 npx ganache-cli trffle-config.js development 부분 주석해제 truffle/contracts/Voting.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; contract Voting { string[] public candidateList; //배열 정의 mapping(string=>uint8) public votesReceived; // 키값에 string을 넣으면 uint8으로 valu..

[truffle, 스마트 컨트랙트] 토큰 생성해보기

mkdir truffle cd truffle truffle init contracts/SimpleStore.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; contract SimpleStore{ uint256 private value; address public owner; constructor(uint256 _value){ //배포됐을 때 생성 value=_value; owner = msg.sender; //스마트컨트랜트 발동한 사람의 주소 : 누구일까? 배포자의 공개키. } //contructor의 인스턴스는 CA 이전에 생성된다. function getAddress() public view returns (address){ return m..

[ truffle, 스마트 컨트랙트 ] 솔리디티 event 사용해서 dApp 간단하게 구현해보기

목차 - 솔리디티 event - dApp 구현 - 디렉토리구조 - 코드 구현 오늘은 솔리디티 event에 대해서 알아 보겠다. event 라는 것은 블록체인 네트워크의 블록에 특정값을 기록하는 것을 말한다. 예를들어서, 송금하기 라는 함수가 있다고 가정하였을때, 송금하기 버튼을 누르면, 누른 사람의 계좌와 금액이 이벤트로 출력이 되어서 블록체인 네트워크 안에 기록이 된다. 이렇게 로그를 사용하여, 블록에 각인시키는것은 일반적으로 string 이나 다른 값들을 스마트컨트랙에 저장하는것보다 효율적이다. 이전 글(바로가기)에 이어서 코드를 조금 수정하는 방향으로 event를 사용해서 dApp을 구현하겠다. 디렉토리 구조 이제 카운터만 되는... dApp 구현을 위한 코드를 작성해보겠다. 초기설정하기 터미널을 ..

[VSCode] prettier 설정하기

1. 일단 확장(extensions) 들어가서 prettier 치고 가장 처음 나오는 거 다운 받는다. 2. ctrl 과 , 키를 동시에 눌러서 설정 창을 연다. 3. 설정에서 Editor: Default Formatter 검색 Prettier -Code Formatter 선택 4. 설정에서 editor format on save 검색 체크 박스 체크해주기 5. Prettier 검색 본인이 편한대로 설정해주면 될 듯하다. 만약, 특정 파일만 설정 외의 값으로 지정하고 싶다면, .prettierrc 파일을 만들어서 루트 디렉토리 안에 넣어 추가 해주면 된다. 예시는 아래와 같다. { "printWidth": 120, "tabWidth": 4, "singleQuote": true, "trailingComma..

환경설정 2022.07.13