일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 공개키
- 솔리디티
- 알고리즘
- 백서
- 블록체인개발
- node js
- 마스터링비트코인
- Redis
- 비트코인
- DAPP
- 마스터링 비트코인
- 스마트컨트랙트
- 개인키
- 암호화폐
- 파이썬
- Ethereum
- pythonic
- js
- solidity
- 문자열
- 주소
- 마스터링 이더리움
- smart contract
- 블록체인
- python
- javascript
- 이더리움
- 레디스
- 개발
- keras
- Today
- Total
목록전체 글 (117)
개발이야기
IPFS 블록체인의 블록의 크기는 1MB(비트코인 기준)에도 미치지 못합니다. 겨우 거래정보나 텍스트만 담을 수 있는 정도이죠. 이를 해결하기 위한 방법으로 사진, 동영상 파일을 IPFS에 뿌리고 그 파일 값을 해시화 한 해시값을 블록체인의 블록에 올리는 방법이 고안되며 IPFS가 인기를 끌고 있습니다. 또한 IPFS는 P2P 분산 파일 시스템으로 기존 중앙화된 서버를 이용하여 여러 문제점이 있었던 기존의 웹을 대체할 수 있을 것이라는 기대도 모으고 있습니다. 이번 글은 IPFS가 어떤 기술로 구성되어 있고 어떻게 동작하는지에 대한 글입니다. 제가 IPFS를 공부하기 위해 IPFS가 어떻게 동작되는지 찾아보다가 정보가 많이 부족하다고 느끼고 이렇게 직접 글을 쓰게 되었습니다. 이번 글은 IPFS - Co..
블록체인 개발, 특히 이더리움 네트워크를 사용해서 블록체인 개발을 할 때 반드시 필요한 Web3.js는 과연 무엇일까요.이더리움 네트워크를 포함한 블록체인 네트워크는 노드로 구성되어 있고, 각 노드들은 블록체인에 대한 복사본을 가지고 있습니다.특히 이더리움 네트워크 상에서 여러분이 스마트 컨트랙트의 함수를 실행하려고 하면 노드들에게 query를 보내 아래의 내용을 전달해야 합니다.1. 스마트 컨트랙트의 주소2. 실행하고자 하는 함수3. 함수에 전달하고자 하는 변수들 이더리움 노드들은 JSON-RPC라고 불리는 언어로만 소통을 합니다. 이 언어는 사람이 읽기는 불편하죠. 컨트랙트의 함수를 실행하고 싶다는 query는 아래와 같습니다. {"jsonrpc":"2.0","method":"eth_sendTrans..
지갑 지갑은 이더리움에서 기본 사용자 인터페이스 역할을 하는 응용 프로그램입니다. 지갑은 사용자의 자금 접근 권한, 키와 주소 관리, 잔액 확인과 트랜잭션작성, 그리고 서명을 제어합니다. 또한 일부 이더리움 지갑은 ERC20 토큰같은 계약과 상호작용을 합니다.개발자 관점에서는 지갑은 사용자의 키를 저장하고 관리하는데 사용되는 시스템으로 모든 지갑에는 이를 관리하는 구성 요소가 있습니다. 일부 지갑은 키 저장 및 관리에 대한 기능만 있고, 어떤 지갑은 이더리움 기반 분산 응용프로그램이나 Dapp에 대한 인터페이스로 활용됩니다. 지갑의 기술지갑을 만들 때 중요한 사항으로는 편의성과 개인 정보를 보호하는 것 입니다. 가장 편리한 점으로는 이더리움 지갑은 다시 사용가능한 개인키와 주소를 관리하는 것 입니다. 이..
Keys, Addresses 데이터의 진위성을 증명하기 위해 전자서명을 이용하는데, 이는 이더리움 플랫폼에 있어서 중요합니다. 이더리움 플랫폼 및 노드간의 통신은 암호화되지 않으며 누구나 읽을 수 있어야 합니다. 이는 모두가 업데이트의 정확성을 확인하고, 합의할 수 있도록 하기 위함입니다.이 장에서는 이더리움에서 사용되는 공개키 암호화를 설명합니다. Introduction이더리움에는 외부 소유 계정(EOA)와 계약 계정(CA)가 있습니다. 이번에는 외부 소유 계정에서 개인키를 사용하여 이더의 소유권을 설정하는 방법을 알아볼 것입니다. 개인키는 탈중앙화된 신뢰와 컨트롤, 그리고 소유권 증명을 가능하게 합니다.EOA에 대한 이더 소유권은 개인키와 이더리움 주소, 디지털 서명을 통해 증명됩니다. 개인키는 본인..
안녕하세요. 오늘은 내일 있을 라인 코딩테스트를 대비하여 올해 열렸던 카카오 코드페스티벌 2019 에 출제된 문제 두 개를 풀어봤습니다. 가장 정답률이 높았던 두 문제를 풀어서 그렇게 어렵지는 않았었습니다. 모든 문제는 프로그래머스 혹은 카카오 기술 블로그에서 확인하실 수 있습니다. 1. 오픈채팅방 3가지 명령에 대한 정보가 들어있는 record 배열이 들어오면 배열에 들어있는 정보를 적절히 처리하여최종 결과가 담긴 배열을 return 해주는 함수를 구현하는 문제였습니다. 문자열 처리를 깔끔하게 하기 위해서 파이썬을 주로 이용하려고 하였고 이 문제 역시 파이썬으로 풀었습니다.해당 uid에 대해서 아이디가 변하는 것을 처리하기 위해서 어떻게 해줘야 하나 고민을 하다가 dict 자료형을 이용하니 굉장히 쉽게..
안녕하세요 ~!오늘은 파이썬에 관한 여러가지를 공부해보았습니다. 1. 소수 먼저 소수를 파이썬으로 구현해보았습니다.우선 소수(Prime)는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수를 말합니다. 쉽게 말해서 자기 자신과 1만을 약수로 가지는 수가 소수입니다. 이 소수를 구하는 대표적인 방법이 ' 에라스토테네스의 체(Sieve of Eratosthenes) '입니다. 고대 그리스 수학자 에라토스테네스가 발견한 방법으로 순서는 다음과 같습니다. 1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열합니다.2. 2는 소수이므로 소수 배열에 체크해둡니다.3. 2를 제외한 2의 배수들을 모두 지워줍니다 => 2를 제외한 2의 배수들은 최소한 3개의 약수( 1, 2, 자기자신)를 가지..
Ethereum Clients Ethereum client란? - 이더리움 사양을 구현하고 다른 이더리움 클라이언트와 P2P 네트워크를 통해 통신하는 소프트웨어 응용 프로그램 - 서로 다른 클라이언트가 다른 팀과 다른 프로그래밍 언어로 구현되는 동안 이들은 모두 동일한 프로토콜을 따른다. 따라서 모두 동일한 이더리움 네트워크를 운영하고 상호작용하는데 사용될 수 있다. - 이더리움은 오픈 소스 프로젝트이며 모든 주요 고객을 위한 소스코드는 오픈 소스 라이센스에서 무료로 사용할 수 있다. - 이더리움은 일반적으로 다른 블록체인보다 네트워크에서 실행되는 구현의 다양성이 더 크다. Ethereum network - Ethereum 기반 네트워크는 Ethereum, Ethereum Classic, Ella, Ex..
안녕하세요 ~ !오늘은 각종 정렬 기법들을 공부할 겸 파이썬으로 구현한 것을 정리할려고 합니다. 정렬 기법에는 버블 정렬, 퀵 정렬, 삽입 정렬, 머지 정렬,기수 정렬, 힙 정렬이 있습니다. (쉘 정렬도 있습니다. ) 1. 거품 정렬 (bubble sort) 버블 정렬은 굉장히 단순하지만 O(N^2)의 상대적으로 느린 시간 복잡도를 가지고 있습니다.인접한 두 원소를 비교하여 스왑하는 것을 반복하여 정렬합니다. def bubbleSort(x): for i in range(len(x)-1): for j in range(len(x) - i): if x[j] > x[j+1]: x[j], x[j+1] = x[j+1], x[j] # swap return x 이중 for 문을 통해 인접한 두 원소를 비교한 후, 왼쪽..