솔리디티 및 블록체인 23

블록체인 만들기 part.03 _ 암호화폐 직관적 이해.zip

비트코인이란?  기술 계층 : 기술은 블록체인프로토콜 계층 : 비트코인은 단순히 화폐가 아니라 프로토콜⚠️프로토콜이란 네트워크의 참가자가 서로 소통하는 일련의 규칙, 공개 키와 서명이 어떻게 인증에 사용되야 하는지 명령토큰 계층 : 프로토콜로 구축되는 스마트 계약에 의존코인 vs 토큰 차이점 https://coinmarketcap.com/ko 암호화폐 가격, 차트 및 시가총액 | 코인마켓캡시가총액 기준 상위 암호화폐 가격과 차트. 비트코인 및 수천 개의 알트코인의 현재 및 과거 정보에 무료로 액세스할 수 있습니다.coinmarketcap.com해당 링크에서 coin과 token의 차이점을 비교할 수 있 코인  코인에 기반이 되는 프로토콜에 투자 토큰  구축하고 있는 것 이면의 아이디어에 투자 비트코인의 ..

블록체인 part.03 _ 채굴

part.02에 이어서✈️2024.08.02 - [솔리디티 및 블록체인] - 블록체인 만들기 part.02 _ 블록체인 설계 블록체인 만들기 part.02 _ 블록체인 설계part.01에 이어서 ✈️2024.07.21 - [솔리디티 및 블록체인] - 블록체인 만들기 part.01 _ 블록체인 설계 블록체인 만들기 part.01 _ 블록체인 설계1. 아키텍처만 설계  datetime 라이브러리 : 블록이 생성되chaechae-lee.tistory.com 새 블록 채굴을 위한 순서0. 상호작용 flask로 시작하여 app = Flask(__name__) 만 활용하면 flask 기반의 웹 애플리케이션 생성됨.  블록체인에서 만들었던 인스턴스 객체를 형성하여 블록체인까지 생성.웹 애플리케이션과 블록체인 모두 상..

블록체인 만들기 part.02 _ 블록체인 설계

part.01에 이어서 ✈️2024.07.21 - [솔리디티 및 블록체인] - 블록체인 만들기 part.01 _ 블록체인 설계 블록체인 만들기 part.01 _ 블록체인 설계1. 아키텍처만 설계  datetime 라이브러리 : 블록이 생성되고 채굴된 정확한 날짜의 타임스탬프를 각 블록이 가짐hashlib 라이브러리 : 블록을 해시할 때 사용json 라이브러리 : 블록을 해시하기 전chaechae-lee.tistory.com 5. 마지막 확인 블록체인이 알맞게 구축되었는지 확인하여 유효한 블록체인을 갖고 있는지 알 수 있음블록체인의 각 블록이 선행 제로 4개로 시작하는 암호 해시를 반환하여 문제를 해결하는 작업 증명을 갖는지 확인각 블록의 이전 해시가 이전 블록의 해시와 같은 지의 여부2번 확인 방법1. ..

블록체인 만들기 part.01 _ 블록체인 설계

1. 아키텍처만 설계  datetime 라이브러리 : 블록이 생성되고 채굴된 정확한 날짜의 타임스탬프를 각 블록이 가짐hashlib 라이브러리 : 블록을 해시할 때 사용json 라이브러리 : 블록을 해시하기 전 블록 인코딩을 위해 라이브러리에 dumps 함수를 사용Flask 라이브러리에서 Flask 클래스의 객체를 생성Jsonify : Postman에서 블록체인과 상호 작용할 때 메세지를 보내기 위해 사용Jsonify를 사용하여 요청에 관한 응답을 표시 2. 초기화블록체인은 클래스 안에 블록체인의 모든 컴포넌트와 모든 특징을 정의, init 함수에 들어가는 체인도 초기화  클래스로 시작할 때는 init 메서드로 시작self는 self 앞에 오는 변수가 객체의 변수를 적용하도록 지정하는데 사용self.ch..

블록체인 만들기 part.01 _ 환경설정

1. Anaconda IDE 생성 https://www.anaconda.com/download/success위 링크를 통해 Anaconda 설치 Anaconda root 환경에서 flask 패키지, 요청을 실행하는 request 패키지, 블록체인과 상호작용할 사용자 친화적인 Postman도 설치할 예정  IDLE 의 경우 Spyder 사용 2. Flask, Postman 설치  Flask : 일부 서버를 사용해서 누구나 온라인에서 사용할 수 있는 블록체인을 설계Postman : 주소에서 다운로드 할 수 있는 HTTP 클라이언트  Anaconda 프롬포트 즉, terminal을 열어 명령어 "pip install Flask==0.12.2" 입력 아래 링크에 들어가 postman 다운로드https://www..

블록체인 직관적 이해.zip

Plan of Attack필요한 이유 : 다른 기술과 비교했을 때 블록체인은 덜 복잡하기 때문 블록체인이란?지속적으로 증가하는 데이터로 블록 데이터를 암호학을 통해 보호하고 연결하는 기술 - 위키피디아 블록- 고유의 해시값을 가짐 제니시스 블록 : 블록체인이 초기화 된 후 언제나 첫번째 데이터 블록 해당 예시의 경우 이전 해시가 없는 유일한 블록임을 가정하고 다음 블록의 해시 경우 이전 블록 해시 값과 동일.이러한 해시값을 통해 블록들이 암호화 링크로 연결되어 있음을 알 수 있음. 동작 과정모든 블록은 각자의 지문을 보유하고 있으며 이전 블록의 지문을 참조 > 블록 1의 지문이 바뀌면 2도 변경됨⚠️만약 누군가 데이터를 조작한다면 지문이 바뀌기 때문에 그 전 지문과 매칭 불가! SHA256 해시디지털 문..

솔리디티 13. super

super - 오버라이딩 할 때 사용.- super을 통해 원래의 함수를 갖고 불러옴.  - event fatherName / function who를 사용하여 fatherName 출력.  - son 이름을 나타내는 event 값 / function who를 사용하여 상속받고 오버라이딩 .  - who라는 function이 길다고 가정하에 여러 번 일일히 다 써줄 수 없기에 super.who() 사용.- super.who() 사용함으로써 fatherName 자체를 가지고 온 것을 확인할 수 있음.  - son을 deploy 하면 두개의 이벤트가 출력됨을 알 수 있음. 상속에 따른 super  - father, mother who라는 function 사용.- son은 who를 오버라이딩하고 있음.  - s..

솔리디티 12. event2 - indexed

indexed- 이벤트 내에서만 사용할 수 있는 키워드- 특정한 이벤트 값을 불러오는데 사용.  - numberTracker는 5가 적힌 이벤트를 가져올 수 없지만 numberTracker2는 num에 적힌 5가 적힌 이벤트를 가져올 수 있음.> index는 내가 가져오고 싶은 값을 필터하여 가져올 수 있음.- pushEvent 함수는 각각 출력 뒤 num + 1  됨.  - 하지만 deploy 하면 특정한 값을 가져올 때 어떻게 차이가 나는지 모름. 가나슈를 이용한 실습 - get-best 이벤트 사용하여 각 이벤트 가져와야 함.- fliter 안에 num은 2나 1를 가져오라는 뜻.- fromBlock은 toBlock까지의 이벤트를 수색하여 필터에 적용된 2나 1을 가져오라는 뜻.  - NumberT..

솔리디티 12. event 1 - 정의

솔리디티- print가 없음.- 이벤트로 값을 출력할 때 그 값들은 블록 안에 저장됨. 이벤트 정의  - info라는 이벤트 생성.- 출력하고자 하는 값들을 ()에 입력.  - 함수 안에 누가 보내는 지 저장하고자 info 입력.  - deploy 하면 이벤트 info가 블록 안에 각인이 된 것을 확인할 수 있음.  > 언제든지 info 값을 불러와서 사용 가능.