EVM의 저장 공간 이더리움 가상머신(evm)에는 세 종류의 저장 공간이 있습니다.스택 : evm은 스택을 기반으로 동작하는 가상머신으로, 모든 연산은 스택을 통해 이루어집니다. opcode와 opcode 실행에 필요한 값들이 저장됩니다.메모리 : 데이터를 임시로 저장하는 데 사용됩니다. 스마트 컨트랙트가 실행되는 동안 활성화되고, 트랜잭션이 완료되면 사라집니다. 메모리는 가변적인 크기를 가지며, 필요에 따라 동적으로 확장됩니다.스토리지 : 스마트 컨트랙트의 영구적인 데이터를 저장하는 공간입니다. 트랜잭션이 완료된 후에도 정보가 유지되며, 비용이 매우 높기 때문에 중요한 데이터만 저장해야 합니다. 콜 데이터는 함수를 호출할 때 입력 데이터로 사용되며, 메모리와 비슷하지만 변경이 불가능한 읽기 전용의 데..
계정 추상화 시리즈 2024.04.18 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Paymaster와 LegacyTokenPaymaster의 동작 이해 2024.04.18 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Account Factory의 동작 이해 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트 수정 사항 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Account와 EntryPoint의 동작 이해 2024.04.16 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 테스트에 참고한 컨트랙트 sa..
계정 추상화 시리즈 2024.04.18 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Account Factory의 동작 이해 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트 수정 사항 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Account와 EntryPoint의 동작 이해 2024.04.16 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - Account, EntryPoint, Paymaster 테스트에 참고한 컨트랙트 core/BasePaymaster.sol samples/LegacyTokenPaymaster.sol account-ab..
계정 추상화 시리즈 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트 수정 사항 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Account와 EntryPoint의 동작 이해 2024.04.16 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - Account, EntryPoint, Paymaster 테스트에 참고한 컨트랙트 samples/SimpleAccountFactory.sol account-abstraction/contracts at develop · eth-infinitism/account-abstraction Contribute to eth-infinitism/account..
계정 추상화 시리즈 2024.04.17 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - 테스트를 통한 Account와 EntryPoint의 동작 이해 2024.04.16 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - Account, EntryPoint, Paymaster 1. UserOperation 패킹 순서 수정 수정 전 uint128 verificationGasLimit = 500000; uint128 callGasLimit = 21000; bytes32 gasLimits = bytes32(uint256(callGasLimit)
계정 추상화 시리즈2024.04.16 - [블록체인/Ethereum] - ERC-4337: 계정 추상화 - Account, EntryPoint, Paymaster테스트에 참고한 계정 추상화 구현 컨트랙트samples/SimpleAccountcore/EntryPoint account-abstraction/contracts at develop · eth-infinitism/account-abstractionContribute to eth-infinitism/account-abstraction development by creating an account on GitHub.github.com Foundry 프로젝트프로젝트 생성$ forge init contracts$ cd contracts라이브러리 설치$ f..
개요 (Abstract) 합의 계층 프로토콜을 변경하지 않고도 계정 추상화를 가능케 하는 제안 새로운 프로토콜 기능 또는 새로운 트랜잭션 유형을 도입하는 대신, UserOperation이라는 상위 계층 수도-트랜잭션 객체(higher-layer pseudo-transaction object)를 도입 사용자는 UserOperation을 생성하고 전용 멤풀에 전송 번들러(bundler)라는 특별한 종류의 행위자는 사용자 작업 전용 멤풀에서 작업을 수집하고, 패키지화하여 특정 컨트랙트의 handleOps 함수를 호출 패키지화된 UserOperation들은 하나의 트랜잭션으로 처리되어 블록에 포함 동기 (Motivation) 계정 추상화의 주요 목표 달성(Achieve the key goal of account..
Github GitHub - piatoss3612/aa-demoContribute to piatoss3612/aa-demo development by creating an account on GitHub.github.comDemo AA Demo aa-demo-gules.vercel.app준비물Privy : 소셜 로그인 및 임베디드 지갑 제공자, 대시보드 로그인 및 앱 생성하기Biconomy : 계정 추상화 툴킷 제공자, 대시보드 로그인 및 Paymaster 생성하기nvm, node, yarn (또는 npm) : 웹 앱 개발환경foundry : 이더리움 스마트 컨트랙트 개발환경Foundry 프로젝트프로젝트 생성$ forge init contractsOpenZeppelin 라이브러리 설치$ forge ins..
컨트랙트 ABI란? 컨트랙트 ABI(Application Binary Interface)는 이더리움 생태계에서 컨트랙트와의 상호작용을 위한 표준방식이다. ABI는 스마트 컨트랙트의 함수명, 매개 변수의 타입 및 반환 값의 타입을 설명한다. 일반적으로 solidity로 작성된 코드가 컴파일될 때 ABI가 생성되며, 이는 오프체인에서 컨트랙트로의 상호작용 또는 컨트랙트에서 컨트랙트로의 상호작용에 사용된다. 컨트랙트의 호출에 사용되는 calldata가 바로 ABI 형식으로 인코딩 된 데이터다. 타입별 ABI 인코딩 컨트랙트와 상호작용하기 위해 데이터는 ABI 형식에 맞춰 인코딩이 필요하다. solidity의 내장 함수인 abi.encode를 사용해 인코딩이 어떻게 이루어지는지 알아보자. 정적 타입 32바이트 ..