본문 바로가기
  • 개발 / 공부 / 일상

전체 글207

(BlockChain) NFT-Market (1) NFT를 거래할 수 있는 조그마한 Market을 만들어 보려고 한다 일단, 시작에 앞서 파일 및 폴더 환경설정부터 하면서 천천히 진행하려 한다 0. TS 설치 npm list -g npm i -g typescript ts-node 이전에 TS를 사용한 적이 없거나 컴퓨터를 교체하여서 window를 재설치 혹은 새로 깔았다면 전역에 ts를 설치해 주자 1. React (with.TS) yarn create react-app front --template typescript cd front yarn add web3 axios @metamask/providers @metamask/providers : TS환경에서 React내 window.ethereum의 자료형을 TS Compiler가 인지하지 못하기에 위와.. 2023. 3. 16.
(BlockChain) NFT 거래 컨트랙트 https://developerjjh.tistory.com/177 (BlockChain) NFT 토큰 컨트랙트 OpenSea 등 NFT 마켓에서 사용하는 컨트랙트 NFT 토큰 컨트랙트 구현 import "../node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; import "../node_modules/@openzeppelin/contracts/access/Ownable.sol"; import developerjjh.tistory.com SaleToken 컨트랙트 사용자 간 NFT 판매 및 구매에 관한 컨트랙트 토큰 정보에 대한 구조체 struct TokenInfo { uint tokenId; uint Ra.. 2023. 3. 14.
(BlockChain) NFT 토큰 컨트랙트 OpenSea 등 NFT 마켓에서 사용하는 컨트랙트 NFT 토큰 컨트랙트 구현 import "../node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; import "../node_modules/@openzeppelin/contracts/access/Ownable.sol"; import "../node_modules/@openzeppelin/contracts/utils/Strings.sol"; ERC721 기본 컨트랙트 owner 관련 컨트랙트, _owner 등을 추가 기존에 int, uint 등을 string화 하려면 byte로 바꿨다가 변경해야 하는데 String 라이브러리에서 제공하는 기능을 사용 uin.. 2023. 3. 14.
(BlockChain) Remix 활용 Remix를 사용하기 전에 폴더 및 라이브러리 설정 mkdir remix cd remix npm init -y npm i truffle @openzeppelin/contracts @remix-project/remixd npm i -D prettier-plugin-solidity npx truffle init Remix http://remix.ethereum.org에서 사용 스마트 컨트랙트의 작성 및 배포를 쉽게 할 수 있도록 하는 Ethereum IDE이라고 쉽게 이야기가 가 VScode에서 작성한 로컬 파일을 Remix에서 연동 -s : 로컬 폴더 위치 옵션 -u : 연결할 주소 npx remixd -s . --remix-ide https://remix.ethereum.org # npx remixd -.. 2023. 3. 13.
(BlockChain) Token Swap TokenSwap 토큰을 다른 토큰으로 변경하는 것 보통 이전 토큰을 새로운 토큰으로 교환 거래소에서 '스왑기간', '스왑 지원 거래소', '마이그레이션 지원' 등으로 토큰 스왑 기능 지원을 표기 토큰 업데이트 및 재정적 이익을 얻을 수 있다 한 블록체인에서 다른 블록체인으로 두 당사자간의 토큰 유형 교환 이러한 교환은 토큰 교환 플랫폼에서 가능 폴더 및 라이브러리 설치 mkdir swap cd swap npm init -y npm i truffle @openzeppelin/contracts npm i -D prettier-plugin-solidity contract EthSwap 토큰의 변경을 위해 사용하기에 거래 관련 내용만 존재 address(스마트 컨트랙트) : 전달된 스마트 컨트랙트의 CA를 반.. 2023. 3. 13.
(BlockChain) ERC721Enumerable 구현 https://developerjjh.tistory.com/173 (BlockChain) ERC721 구현 https://developerjjh.tistory.com/171 (BlockChain) IERC721Metadata 구현 interface IERC721Metadata.sol 전체 코드 // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; interface IERC721Metadata { function name() external view returns (string memory); developerjjh.tistory.com ERC721Enumerable 구현 코드 // SPDX-License-Identifier: MIT pragma solidi.. 2023. 3. 12.