목록코딩이야기/blockchain (4)
번개멍
EthChainId chainId = web3j.ethChainId().send(); System.out.println(chainId.getChainId()); 현재 체인의 chain Id를 알 수 있다. BigInteger blockNumber = web3j.ethBlockNumber().send().getBlockNumber(); System.out.println(blockNumber); 현재 블럭의 번호를 알 수 있다. String contractAddress = "${contractAddress}"; Credentials cutromerCreds = Credentials.create("${privateKey}"); TransactionManager cutomerTokenTxManager = new..
function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); _afterTokenTransfer(address(0), to, tokenId); } 둘의 차이는 safeMint의 경우 mint 하려고 하는 ad..
Remix 온라인 Solidity 용 IDE 이며 디버깅 및 테스트를 제공하며, 간단한 Smart contract 를 작성하는데 최적이다. 빠르고 간단한 테스트에 최적이지만 복잡한 로직에는 부적절하다. Truffle - 스마트 컨트랙트 개발 프레임워크 솔리디티 코드 개발을 로컬에서 보다 편리하게 개발 할 수 있도록 지원해주는 프레임워크이다. Truffle 은 web3.js 라이브러리를 채택하고 있다. truffle 단점으로 Verify 가 자동으로 지원되지 않는다라고 한다. 최근에는 Hardhat 이라는 프레임워크를 많이 사용하는것 같다. HardHat 위에 개발 도구들에 비해 보다 전문개발 도구이며, 작성, 컴파일, 테스트, 배포 등을 가능함 turffle 에 비해 내부적으로 가상 이더리움 네트워크를 ..
openzeppelin을 이용하여 ERC20 기반의 토큰을 Sepolia 테스트넷에 발행 및 ERC721 기반의 NFT 발행하는 작업을 진행해보겠다. yarn add @openzeppelin/contracts openzeppelin 을 설치하고 싶었지만.... node의 버전 문제가 생겼고 다운그레이드를 진행하였다. 내 node --version 은 19.0.1 이고 hardhat이 지원하는 18.0.0.으로 변경하고자 node 버전 관리 모듈인 n을 이용하려고 한다. npm install n sudo n 18.0.0 n 설치후 노드 버전을 변경하고 싶었으나 installed된 노드 위치와 active된 노드의 위치가 달라서 노드 버전을 계속 새로 설치하고 버전을 변경해도 active된 노드 버전이 변경..