Ethereum(5)
-
EtherWeiConverter
// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract EtherWeiConverter { // wei를 ether로 변환 function weiToEther(uint256 weiAmount) public pure returns (uint256) { return weiAmount / 1 ether; } // ether를 wei로 변환 function etherToWei(uint256 etherAmount) public pure returns (uint256) { return etherAmount * 1 ether; // 1 ether == (10**18) } // wei를 gwei로 변..
2025.01.09 -
OpenZeppelin
OpenZeppelin은 Ethereum 스마트 계약 개발을 위한 오픈소스 라이브러리입니다. 주로 ERC 표준(ERC-20, ERC-721, ERC-1155 등)을 구현한 코드와 보안성을 갖춘 스마트 계약 템플릿을 제공합니다.OpenZeppelin의 주요 역할1. ERC 표준 구현 - ERC-20(토큰), ERC-721(NFT), ERC-1155(멀티토큰) 등 주요 토큰 표준의 기본 기능 제공. - 표준에 맞게 작성된 코드를 바로 가져다 쓸 수 있음.2. 보안성 강화 - OpenZeppelin의 코드는 수많은 보안 검증과 감사를 거침. - 재진입 공격 방지, 소유권 제어 등 중요한 보안 기능을 기본적으로 제공.3. 모듈화된 스마트 계약 - 필요한 기능만 가져와 사용할 수 있도록 설계(예..
2024.11.27 -
Solidity(view, pure)
Solidity에서 view와 pure 함수는 상태를 변경하지 않는 함수로, 스마트 컨트랙트에서 데이터 조회나 계산에 사용됩니다. 두 가지 키워드는 함수가 상태를 다루는 방식에 따라 사용됩니다.1. view 함수상태를 읽을 수 있지만, 변경하지는 않는 함수에 사용합니다.블록체인의 상태(예: 컨트랙트 내 변수)를 조회할 때 적합합니다.예를 들어, 저장된 값을 반환하거나 블록체인 상태를 읽기만 할 경우 사용합니다.예제pragma solidity ^0.8.0;contract Example { uint256 public storedValue = 10; // view 함수: 상태 변수 storedValue를 읽기만 합니다. function getValue() public view returns (..
2024.11.24 -
Web3.js, Ethers.js, Solidity
Web3.js, Ethers.js 및 Solidity는 Ethereum 및 Web 3.0 개발에 사용되는 핵심 도구 및 라이브러리입니다. 각각에 대한 자세한 내용은 다음과 같습니다. Web3.jsㅇ 목적Web3.js는 개발자가 JSON-RPC API를 사용하여 Ethereum 블록체인과 상호 작용하는 데 도움이 되는 JavaScript 라이브러리입니다. 이는 이더리움 연결을 위한 최초의 라이브러리 중 하나였으며 블록체인 데이터 읽기, 데이터 쓰기(예: 트랜잭션 전송), 스마트 계약 생성과 같은 작업에 널리 사용됩니다.ㅇ 주요 기능- 블록체인 상호 작용: 개발자가 Ethereum 노드에 연결하고 블록체인과 상호 작용할 수 있습니다. 이를 통해 거래, 계정 및 기타 데이터에 대한 정보를 블록체인에 쿼리할 수..
2024.11.14 -
EVM과 eWASM의 차이
EVM (Ethereum Virtual Machine)과 eWASM (Ethereum-flavored WebAssembly)는 둘 다 Ethereum 네트워크에서 스마트 계약을 실행하는 가상 머신이지만, 서로 다른 기술을 기반으로 하며 여러 가지 차이가 있습니다. 1. EVM (Ethereum Virtual Machine) - 기반 기술 : 스택 기반의 가상 머신 - 바이트코드 : 스마트 계약이 EVM 바이트코드로 컴파일되어 실행 - 언어 : 주로 Solidity와 같은 EVM 호환 언어 - 성능 : 비교적 느린 편으로, 복잡한 연산에서는 제한이 있음 - 보안 : 보안성은 높지만, 구조적인 한계로 확장성에 제약이 있음 - 확장성 : 기존 이더리움 1.0의 기반으로 효율성에 한계가 있음 - 호환성 : EV..
2024.11.13