# solidity

ERC (23/05/26)
ERC (Ehereum Request for Comments)ERC는 이더리움 기반 블록체인 네트워크에서 사용되는 표준 프로토콜을 말합니다ERC20 - 토큰ERC721 - NFTERC1155 - NFT (ERC20 + ERC721)Token : 이더리움 메인넷을 따라서
Event - (23/05/25)
지난번에 만든 카운터 기능을 약간 고치고 싶어서 컨트랙트의 카운터 증감 함수에 리턴값을 추가해봤는데요콘솔로는 이 리턴값을 확인할 수 없었습니다트랜잭션 객체의 데이터 속성에 리턴값이 들어있을 줄 알았지만... 알고보니 send()로 트랜잭션을 전송했을 경우, getTra
[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-25
Soliditiy ERC-20 ERC-20 은 Ethereum Request for Comment 20 의 약자로, 이더리움 네트워크의 개선을 제안하는 EIPs(Ethereum Improvement Proposals) 에서 관리하는 공식 프로토콜이다. ERC-2

Testnet - (23/05/25)
체인 아이디(Chain ID)는 블록체인 네트워크를 식별하는 번호입니다 그리고 메인넷과 테스트넷도 서로 다른 체인 아이디를 가지고 있습니다예를 들면 이더리움의 메인넷의 체인 아이디는 1이고, 테스트넷(Goerli)의 체인 아이디는 5입니다(현재 가동중인 이더리움 테스트
[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-24
Solidity deploy on testnet 지금까지는 작성한 컨트랙트를 local 에서만 사용했다. 실제 testnet 에 배포하여 컨트랙트를 제어해보자. settingA 라는 컨트랙트를 만들었다. 상태변수 a 를 선언하고, 이것을 set 하는 함수도 만

Truffle (23/05/24)
Truffle 은 이더리움 디앱 개발을 위해 사용되는 프레임워크입니다스마트 컨트랙트 컴파일부터 배포와 테스트까지 가능한 올인원 툴로써,디앱 개발에 많은 편의성을 제공합니다(특히 calll과 send를 날리는 과정이 크게 단축됩니다)간편한 툴인 만큼 솔리디티와 블록체인

[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-22
Solidity double mapping struct 형은 value 값으로만 가능. uint, string 과 같은 형은 value 값으로도 불가능. 예시) 매핑으로 value 값을 지정해주려면? ---
05-23
05월 23일 화요일a,b 를 넣었을 때 ab로 합쳐지게 하는함수uint a를 넣었을 때에는 아스키코드를 따라서 값을 가져온다.123을 나타내고 싶을 때시간초를 시분초로 나타내는 함수숫자의 자릿수와 각 자리를 쪼개는 함수4,5번을 합쳐서 각 시간의 뒤에 hours,mi

Metamask & React (23/05/23)
월렛 개요 블록체인 네트워크와 소통할 때, 일반적으로 브라우저에서 다이렉트로 노드에 요청을 전달하지는 않습니다 (콜메서드를 사용하는 경우가 아니라면) 트랜잭션을 발동시키기 위해 서명을 생성할 때 사용자에게 직접 개인키를 입력받도록 하는 것이 보안적으로도, 사용성
스마트 컨트랙트 - 2 (23/05/22)
컨트랙트 배포 & 실행 스마트 컨트랙트의 배포와 실행은 다음과 같은 과정을 따릅니다 솔리디티 코드 작성 솔리디티 컴파일 메세지의 데이터 속성에 컴파일된 내용(바이트 코드)을 보내기 트랜잭션 발동 1. 솔리디티 코드 작성 우선 솔리디티 코드에 대한 이해를 돕기
스마트 컨트랙트 ~ 1 (23/05/19)
스마트 컨트랙트 스마트 컨트랙트란? > 스마트 컨트랙트는 계약의 내용과 실행 조건을 코드를 통해 사전에 설정한 후 해당 조건이 충족되면 블록체인 네트워크에서 자동적으로 계약을 실행하는 기능을 의미합니다 이 때 계약의 조건과 실행 결과는 블록체인에 영구적으로 기록

[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-18
Solidity Test 1 > 1) 숫자를 넣었을 때 그 숫자의 자릿수와 각 자릿수의 숫자를 나열한 결과를 반환하세요. 예시) 3902 > 4 / 3,9,0,2 아래와 같이 함수를 만들었다. 문제를 보자마자, 자릿수를 하나씩 넣어주려면 uint 형식의 배열.
05-22
05월 22일 월요일/\*안건을 올리고 이에 대한 찬성과 반대를 할 수 있는 기능을 구현하세요. 안건은 번호, 제목, 내용, 제안자(address) 그리고 찬성자 수와 반대자 수로 이루어져 있습니다.(구조체)안건들을 모아놓은 자료구조도 구현하세요. 사용자는 자신의 이름
[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-17
Solidity receive receive{} external payable{} 이 컨트랙트에 들어가 있으면, 이 컨트랙트는 누구에게든 어디서든 돈을 받을 수 있다. receive 가 없다면, 컨트랙트 내의 함수에 payable 을 넣어서 msg.value
[Solidity] ERC-20
오늘 순서(1) ERC-20 transfer 구현(2) ERC-30 trasnferFrom, Approved 구현(3) WETH9개의 method2개의 event정의 - event, 실행 - emit
[SCH] Call Attacks
사실 Call Attack이라는 이름은 그냥 붙인 것 같고, 전반적으로 발생할 수 있는 실수들에 대해 몇 가지 소개가 되어 있다.delegate call을 할 때 호출할 contract의 storage layout에 대해 신경쓰지 않으면 변수가 덮어써질 위험이 있다.더

[SCH] Oracle Manipulation
SCH 강의에서 나온 2가지의 사례를 짧게 정리해보고자 한다.만약 Oracle이 centralized되어 있다면 문제가 될 수 있다.이 경우에 대해서 나는 당연히 고려를 하지 않았는데, 생각보다 실제 사례가 있었다.예를 들어 하나의 admin account에서 api를

[SCH] Unchecked Return
Solidity에서 Low-level call을 하였을 때, return value를 check하지 않을 경우 문제가 생길 수 있는 경우들이 있다.ERC20 approve과 front running - increaseAllowance(), decreaseAllowanc

[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-16
Solidity visibility internal, private 는 컨트랙트 내부에서 접근 가능. public 은 어디에서나 접근 가능. external 은 외부에서 접근 가능. parent & child internal > 상속 받은 아이가 사용 가능.

Solidity type information
ERC20 코드를 분석하다가, type() 에 대해서 항상 궁금해만 하다가 이번에 공식 문서에서 찾아보았다.https://docs.soliditylang.org/en/v0.8.17/units-and-global-variables.htmlThe expressio