1세대 블록체인, 2세대 블록체인, 3세대 블록체인 등 세대에 따른 블록체인이 있습니다. 하지만 세대로 구분된 것이 표준화되어 있지는 않습니다. 여기서 말하는 세대는 통상적으로 확연한 기술의 변화가 있을 때 구분하는 용도로 사용하였습니다. ** 일반적으로 이전 세대의
솔리디티(Solidity)는 EVM(Ethereum Virtual Machine)에서 스마트 컨트랙트 개발을 위해 사용하는 프로그래밍 언어입니다. 기본적인 문법의 구조 컨트랙트 구조 컨트랙트는 상태 변수(State Variables), 함수(Function), 함수
솔리디티에는 상태변수, 전역변수, 지역변수가 존재합니다. 상태변수는 이더리움 블록체인에 기록되는 변수로 컨트랙트 저장소에 영구적으로 저장됩니다. 다른 프로그래밍 언어의 변수 선언과 비슷합니다. 여기서는 간단하게 uint, int에 대해 배워보겠습니다. 부호 없는 정
구조체(struct)는 서로 다른 유형의 항목을 포함하는 집합으로, 사용자 정의 형식입니다.구조체를 통해 여러 특성을 가진 복잡한 자료형을 만들 수 있습니다.또한 구조체는 참조형 변수(Reference type)라고도 합니다. 참조형 변수는 배열과 같이 데이터를 저장하
변수를 저장할 수 있는 공간(데이터 영역)으로 두 종류가 있습니다.메모리(Memory): 프로그램이 동작하는 동안에만 임시적으로 값을 기억하고, 종료되면 값을 잃는 데이터 영역스토리지(Storage): 블록체인에 기록되어 영구적으로 값이 저장되는 데이터 영역하드디스크(
Smart Contract로 보내진 gas를 모두 소비하고 사용자에게 반환하지 않는다. 특정한 조건에 부합하지 않으면 에러를 발생시킨다. 정말 예상치 못한 일이 일어났을 경우만 사용되야한다. 사용자에게 알려주지 않고 트랜잭션을 그냥 종료시킨다.내부 상태나 불변량 검사를
가위바위보 게임 만들기 진행 방식 두 명의 플레이어가 가위바위보 게임을 진행하고, 이긴 경우 참여자의 베팅 금액 모두를 가져가는 방식 해당 컨트랙트는 3가지 Public 함수를 가지고 있습니다. createRoom: 가위바위보 게임을 하기 위한 방을 만듭니다. jo
Pool을 만들고자 하는 토큰의 주소를 초기값으로 받아 token인스턴스를 생성한다.LP 토큰을 만든다.swapCoinToToken(), coinToTokenTransfer() : 다른 입력을 처리하기 위함minToken : 사용자가 받으려는 최소의 토큰의 개수를 입력
https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-01-integer-underflow-c1147c2e507bmodifier를 통한 재진입(reentrancy)은 복잡성
https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-04-cross-function-reentrancy-de9cbce0558e번역 및 내용을 추가하여 작성하였습니다.다음과
https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-02-reentrancy-b0c08cfcd555번역 및 내용을 추가하여 작성하였습니다.다음과 같은 능력을 키우고 싶어
https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-05-cross-contract-reentrancy-30f29e2a01b9Cross-Contract-Reentrancy
https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-06-integer-overflow-e1f444f3cc4사용자가 Moon 토큰을 구매하거나 판매할 수 있는 Insecu
Phishing With Improper Authorization https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-07-phishing-with-improper-authori
https://medium.com/valixconsulting/solidity-smart-contract-security-by-example-08-unexpected-ether-with-forcibly-sending-ether-e13be2c6b985번역 및 내
Solidity 0.8.0의 변경점에 대해 번역을 진행하고 Hardhat, Ethers.js, Typescript를 통해 이해하기 쉽도록 작성하였습니다.컴파일러가 사용자에게 알리지 않고 기존 코드의 동작이 변경되는 변경사항이 나열되어 있습니다.시리즈로 작성하겠습니다.
https://medium.com/valixconsulting/solidity-security-by-example-09-denial-of-service-with-revert-814f55b61e02번역 및 내용을 추가하여 작성하였습니다.다음과 같은 능력을 키우고
ABI는 Application Binary Interface의 약자입니다.https://ethereum.stackexchange.com/questions/64562/about-abi-encoder-v2ABI coder v2는 기본적으로 활성화되어 있습니다.pr
Chainlink VRF는 스마트 컨트랙트가 안전하고 사용하기 쉽게 랜덤한 값을 가져올 수 있게 해주는 도구입니다. 체인링크 VRF v2는 랜덤한 값을 요청하는 두 가지 방법을 제공합니다.SubscriptionSubscription 계정을 생성하고 LINK Token으
개인 스터디 차원에서 Chainlink VRF - Subscription Method 를 번역하고 이해를 돕고자 내용을 보충하여 정리하였습니다.VRF v2 요청은 Subscription 계정을 통해 LINK Token을 받습니다. Subscription 계정 하나를 관