사내 프로젝트에서 데이터를 NFT화하여 일반 유저에게 데이터를 판매할 기회를 제공하고, 데이터가 필요한 곳에 구매할 기회를 제공하는 것으로 방향이 잡혔다. 블록체인 관련 기술을 작성한 개발자는 없으니, 클론코딩부터 시작해 맨땅에 헤딩 시작이다.
탈중앙화 애플리케이션(Decentralized Application)의 약자로 블록체인 플랫폼을 기반으로 작동하는 앱을 말한다.
SOLIDITY - 블록체인 스마트 컨트랙트 작성
openZeppelin - 블록체인 필요 기능 보조
React - 프론트엔드 작성
chakra - 간단한 UI 생성
W3.JS - SOLIDITY와 React 연결
강의에 없던 내용
Soldity 확장 설치하기
오픈제플린 내부 경로 차이 있음
remixd 설치 CLI 오류
yarn global add @remix-project/remixd
으로 하면 이상 없음!ERC(Ethereum Request for Comment)란, 새로운 이더리움 기술을 제시하고 비평을 기다리기 위해 공개된 문서이다. ERC721은 대체 불가한 토큰(NFT)의 표준을 정의한 문서다.
pragma solidity ^0.4.20;
interface ERC721 {
event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
function balanceOf(address _owner) external view returns (uint256); // 해당 주소가 보유하고있는 nft갯수를 리턴
function ownerOf(uint256 _tokenId) external view returns (address); // nft를 소유하고 있는 주소를 리턴
function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; // 전송받는 to 주소가 erc721토큰을 받을수 있는지 체크하고 전달
function transferFrom(address _from, address _to, uint256 _tokenId) external payable; // nft 소유자로부터 해당 nft를 다른 주소로 전송
function approve(address _approved, uint256 _tokenId) external payable; // 해당 주소에 nft 전송 권한을 부여
function setApprovalForAll(address _operator, bool _approved) external; // nft 소유자가 해당 주소에게 모든 nft 에 대한 전송 권한 부여 및 해제
function getApproved(uint256 _tokenId) external view returns (address); // 해당 토큰의 전송 권한을 갖고 있는 주소를 리턴
function isApprovedForAll(address _owner, address _operator) external view returns (bool); // setApprovealForAll 의 권한이 있는지 true, false 리턴
}
interface ERC165 {
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
구동코드 경로설정 및 로컬호스팅 : remixd -s . --remix-ide https://remix.ethereum.org
오류가 났다..? 뭐지
배포는 정상적으로 이루어진듯..
NFT로 대박 가즈아