Web3OJ Web3OJ | Web 3.0 온라인 저지 | Web3OJDeveloper Recruitment Web3OJ not only prepares for the technical interview, but also supports the recruitment of the best talent in the company. Through online evaluation and training, we provide talent discovery and high-quality talent nurturing services.app.web3oj.com 국내 유일의 Solidity 문제 풀이를 위한 온라인 저지 플랫폼. 난이도가 들쭉날쭉한 Ethernaut과 비교해, 기초적인 사칙연산 구현부터 ERC20, E..
Foundry 프로젝트에 Hardhat 프로젝트 초기화 다음과 같이 이미 Foundry 프로젝트가 생성되어 있는 디렉터리 안에서 진행합니다. 1. npx hardhat init 명령어를 사용해 hardhat.config.js 파일과 package.json 파만 생성을 해줍니다. $ npx hardhat init 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 8888888888 8888b. 888d888 .d88888 88888b. 8888b. 888888 888 888 "88b 888P" d88" 888 888 "88b "88b 888 888 888 .d888888 888 888 888 888 888 .d888888 888 888 888 888..
프라이빗 키를 .env 파일에 저장하는 것은 안전하지 않다 제목 어그로를 좀 끌어봤는데 사실 .env 파일 사용하지 마라는 것은 아닙니다. 다만 프라이빗 키를 .env 파일에 저장해서 사용하는 것은 지양해야 합니다. 왜냐? 프라이빗 키가 플레인 텍스트로 저장되기 때문입니다. 자금이 들어있는 프라이빗 키를 사용했는데 .env 파일이 노출되기라도 하면 그야말로 대환장 파티. 게다가 코파일럿이나 이와 관련된 여러 AI 도구들이 코드를 읽어들이면서 .env 파일에도 접근해 프라이빗 키를 기억하고 저장했다가 언제 어디서 어떻게 노출시켜버릴 지도 미지수입니다.RPC_URL=https://ethereum-sepolia.publicnode.comPRIVATE_KEY= 또한 --private-key 플래그를 사용해 프..
전체 코드 solidity 8.23 버전 사용 https://github.com/piatoss3612/dig-solidity/blob/main/yul-erc20/src/ERC20A.sol 더보기 // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.23; import {IERC20} from "./interfaces/IERC20.sol"; import {IERC20Metadata} from "./interfaces/IERC20Metadata.sol"; import {IERC20Errors} from "./interfaces/IERC20Errors.sol"; contract ERC20A is IERC20, IERC20Metadata, IERC20Erro..
Foundry는 Solidity를 사용해 테스트를 작성합니다. 이 점에서 Javascript를 사용해야 하는 Truffle, Hardhat같은 툴체인과 차별점이 있습니다. 일반적으로 테스트는 'test' 디렉터리에 저장되며, '.t.sol' 확장자를 가집니다. 테스트 함수가 revert되면 테스트는 실패하는 것이고, 그 반대에는 테스트가 성공한 것으로 간주됩니다. 테스트 예제 Foundry 테스트는 Forge 표준 라이브러리의 'Test' 컨트랙트를 사용하여 작성할 수 있습니다. Test 컨트랙트는 기본적인 로깅과 어설션(assertion)을 제공합니다. pragma solidity ^0.8.13; import "forge-std/Test.sol"; contract ContractBTest is Test..
✨ Foundry 프로젝트 관련 명령어 프로젝트 생성 forge init 이미 git 저장소가 초기화되어 있는 디렉터리 안에서 Foundry 프로젝트를 생성하는 경우, '--no-commit' 플래그를 사용하여 자동으로 커밋을 실행하지 않거나, '--no-git' 플래그를 사용하여 git 저장소를 생성하지 않을 수 있습니다. $ forge init hello_foundry 생성된 프로젝트 디렉터리 구조는 다음과 같습니다. $ cd hello_foundry $ tree . -d -L 1 . ├── lib ├── script ├── src └── test 4 directories 프로젝트 빌드 forge build $ forge build [⠢] Compiling... [⠃] Compiling 22 file..
🔨 Foundry Foundry는 스마트 컨트랙트 개발 툴체인입니다. Foundry는 컨트랙트 의존성 관리, 컴파일, 테스트 실행, 배포를 도와주며, Solidity 스크립트와 커맨드 라인을 통한 블록체인과의 상호작용을 돕습니다. 🎁 설치 1. 사전에 컴파일된 바이너리 파일 사용하기 https://github.com/foundry-rs/foundry/releases 2. Foundryup 사용하기 1) Foundryup 설치 $ curl -L https://foundry.paradigm.xyz | bash 2) Foundryup 실행 최신 바이너리 파일 설치 (forge, cast, anvil, chisel) $ foundryup .xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx.xOx...