NFT 개요 > NFT (Non-Fungible Token) 대체 불가능 토큰 1. NFT가 유일한 이유? NFT가 유일한 이유는 블록체인 기술을 사용하여 각각의 토큰에 고유한 식별자(CA)를 부여하기 때문입니다 간단히 비유를 들자면 객체와 마찬가지입니다 즉 유일하다는 말의 의미는 같은 모양의 객체일지다라도 참조값이 다르다는 것 말장난이라는 생각도 들지만... 2. 어떻게 이미지가 보이는걸까? 사실 NFT의 컨트랙트에는 'URL'만이 저장됩니다 실제 파일 데이터를 저장하는 서버는 따로 있습니다 그러니 이미지든 음악이든 영상
payable 솔리디티의 payable은 두 종류로 나뉩니다 address payable은 주소의 타입을 지정하는 것을 뜻합니다 해당 주소에는 이더를 송금할 수 있는 기능(transfer()와 send() 함수)이 내장됩니다 function payable은 함수의 속성을 지정합니다 그리고 이렇게 payable을 선언한 함수에서만 이더를 보낼 수 있습니다 즉, 컨트랙트에서 payable로 선언된 함수는 외부에서 호출될 때 이더를 전송하는 기능을 수행할 수 있게 됩니다 간단한 마켓 기능을 구현해보면서 두 payable 속성을 이해해봅시다 [appleShop.sol] [Apple
지난번에 만든 카운터 기능을 약간 고치고 싶어서 컨트랙트의 카운터 증감 함수에 리턴값을 추가해봤는데, 콘솔로는 이 리턴값을 확인할 수 없었습니다 트랜잭션 객체의 데이터 속성에 리턴값이 들어있을 줄 알았지만.. 알고보니 send()로 트랜잭션을 전송했을 경우에 getTransaction으로는 함수의 실행 결과를 바로 반환받을 수 없는게 당연했습니다 트랜잭션은 비동기적으로 처리되고, 블록체인에서 트랜잭션이 포함된 블록을 기다려야 하기 때문입니다 반면then을 사용하면 블록체인에 포함된 객체를 리턴하는데, 이 경우에도 제가 지정한 리턴값은 담겨있지 않았습니다 그렇다고 해서 call 메서드만으로 상태 업데이트를 처리하려면 앱을 새로고침(call())하지 않는 이상 모두
Testnet 개요 체인 아이디(Chain ID)는 블록체인 네트워크를 식별하는 번호입니다 그리고 메인넷과 테스트넷도 서로 다른 체인 아이디를 가지고 있습니다 예를 들면 이더리움의 메인넷의 체인 아이디는 1이고, 테스트넷(Goerli)의 체인 아이디는 5입니다 (현재 가동중인 이더리움 테스트넷은 Goelri와 Sepolia뿐) 메인넷과 테스트넷은 동일한 블록체인 프로토콜을 사용하고, 그래서 거의 동일한 방식으로 동작합
Truffle 소개 Truffle 은 이더리움 디앱 개발을 위해 사용되는 프레임워크입니다 스마트 컨트랙트 컴파일부터 배포와 테스트까지 가능한 올인원 툴로써 디앱 개발에 많은 편의성을 제공합니다 (특히 calll과 send를 날리는 과정이 크게 단축됩니다) 간편한 툴인 만큼 솔리디티와 블록체인 네트워크의 기본원리를 알고 쓰는 것이 중요합니다 설치 & 실행 터미널에 명령어를 입력하면 컨피그 파일 생성과 함께 위와 같은 디렉토리 구조가 형성됩니다
월렛 개요 사용자가 블록체인 네트워크와 소통할 때, 일반적으로 브라우저에서 다이렉트로 블록체인 노드에 트랜잭션 요청을 건네지는 않습니다 (콜 메서드만 사용하는 경우가 아니라면) 트랜잭션을 발동시키기 위해 서명을 생성할 때 사용자에게 직접 개인키를 입력받도록 하는 것이 보안적으로도, 사용성 측면에서도 그리 좋지 못하기 때문인데요 그래서 블록체인 네트워크에 요청을 보낼 때는 보통 서명 기능을 담당할 월렛이라는 중개자를 거치게 됩니다 (브라우저
컨트랙트 배포 & 실행 스마트 컨트랙트의 배포와 실행은 다음과 같은 과정을 따릅니다 솔리디티 코드 작성 솔리디티 컴파일 메세지의 데이터 속성에 컴파일된 내용(바이트 코드)을 보내기 트랜잭션 발동 1. 솔리디티 코드 작성 우선 일반적인 형태의 자바스크립트의 클래스를 먼저 살펴보겠습니다 [class.js] 아래는 솔리디티 문법
스마트 컨트랙트 기초 스마트 컨트랙트란? > 스마트 컨트랙트는 계약의 내용과 실행 조건을 코드를 통해 사전에 설정한 후 해당 조건이 충족되면 블록체인 네트워크에서 자동적으로 계약을 실행하는 기능을 의미합니다 이 때 계약의 조건과 실행 결과는 블록체인에 영구적으로 기록되며 변경이 불가능하고 검증도 가능합니다 즉, 중개자 없이 계약 당사자끼리도 신뢰도 높은 거래를 할 수 있게 해주는 것이 스마트 컨트랙