Login
Discover
Waves
Communities
Login
Signup
SigmoiD
@sigmoid
50
Dsrv Labs.
Followers
264
Following
0
Follow
Resource Credits
Available
Used
Website
http://dsrvlabs.com
Created
2018-05-12 05:00
RSS Feed
Subscribe
Posts
Blog
Posts
Comments
Communities
Wallet
sigmoid
geth
2018-06-28 03:09
노드를 실행해 보자.
make geth 를 이용하여 go etherum을 빌드했습니다. 테스트 넷에 연결했구요 geth --testnet --syncmode "fast" --rpc --rpcapi db,eth,net,web3,personal --cache=1024 --rpcport 8545 --rpcaddr 0.0.0.0 --rpccorsdomain "*"
$ 0.000
0
sigmoid
ethereum
2018-06-24 18:20
블록의 싱크에 관하여..
몇일째 블록싱크가 끝나지 않는다는 문제를 제기하신 분이 있다. 몇번을 재시작해도, fast option과 상관없이 100블록정도가 낮은 상태로. 중간정리때 까지 fetcher부분을 들여다본 적이 없어서 이글을 계기로 싱크를 조금더 자세히 들여다 보고, 글을 정리한다. fast옵션을 잘몰라 먼저 코드를 분석해보니 fetcher에서 fast sync의 경우 블록의
$ 0.000
2
1
sigmoid
korean
2018-06-20 14:35
한글주석 프로젝트 그림 업로드
업로드 합니다.
sigmoid
ethereum
2018-06-19 16:22
나의 이더리움 분석기 - 중간정리 - 2
중간정리 1에서 언급했던 4개의 루프중 남은 3개의 흐름과 geth의 마지막인 startmining까지 정리해봅니다. 중간정리 1( 에서 아래의 그림의 우하단 4개의 루프중 초록색 루프인 싱커에서 트렌젝션을 처리하는 것을 확인하였습니다. 이제 보라색 루프부터 시작합니다. 보라색 루프는 트렌젝션을 공유하는 루프 입니다. txsCh 채널에서 이벤트가 발생하면,
sigmoid
go
2018-06-19 01:08
이더리움이 go를 사용하는 이유(개인적인 생각)
처음 이더리움을 분석하기 시작했을때, 익숙한 언어인 cpp로 개발된 클라이언트를 선택하지 않은 이유는, go 같은 상위레벨 언어에 대한 호기심이였습니다. 그리고, 어느정도 분석이 진행되면서 이래서 geth가 major client가 되었구나 cpp였다면 이런부분이 까다로웠겠구나 라는 느낌을 받게 되었습니다. 1 go루틴 + 익명함수 정확히는 아니지만 쓰레드와
sigmoid
ethereum
2018-06-18 17:08
나의 이더리움 분석기 - 중간정리 - 1
그동안 듬성듬성 분석해둔 부분을 일련의 그림으로 정리하여 이더리움 노드의 동작 맵을 그려보고자 합니다. 1 먼저 geth가 실행되면 풀노드로 동작하기 위해 노드를 하나 생성하는데, 이 과정에서 어카운트 매니져와 키스토어를 함께 생성합니다. 지난번에도 언급했지만, 이더리움 소스코드에서 노드라는 개념은 다양한 종류의 서비스를 등록하는 컨테이너 입니다. 2 이더리움
sigmoid
ethereum
2018-06-16 09:41
프로토콜 매니져로부터 insertChain함수 호출 까지(Fetcher)
이더리움 트렌젝션의 실행 ( 을 통해 이더리움 트렌젝션이 insertChain이라는 함수에서 시작하며, 트렌젝션의 실행은 결국 어카운트의 잔고를 업데이트하는 것임을 확인하였습니다. 이번엔 insertChain함수는 언제 호출되는지를 분석해 보았습니다. 우선 이더리움 프로토콜 매니져의 생성과 실행은 간단하게 아래 그림에서 확인가능합니다. geth가 실행되면
sigmoid
ethereum
2018-06-15 16:02
이더리움 트렌젝션의 실행
이더리움 트렌젝션은 어떻게 실행되는지 궁금하여 분석한 내용입니다. 아래 그림과 같이 이더리움 트렌젝션은 마이닝된 블록이 체인에 삽입될 때 실행됩니다. 블록에 포함된 트렌젝션을 루프안에서 Process함수로 처리하는데 기본 트렌젝션 비용인 Intrinsic가스(21000unit)을 소모합니다. 트렌젝션을 전송한 어카운트의 nonce를 1 증가시킵니다. 송/수신
sigmoid
bitcoin
2018-06-13 07:38
블록체인 개발자 채용 공고를 보고....
요즘 이더리움 소스코드를 분석하고 있지만, 분석하면서 느끼는 아쉬운 부분이 동작원리는 알겠는데, 실무적으로는 어떤지, 실무자들은 어떤 문제를 마주하며, 개선해 나가고 있는지다. 그러던중 오늘 페이스북 피드에서 눈에 띄는 개발자 채용공고를 보게되었다. 블록체인 스타트업 "온더"에서 개발자를 모집하는데 첨부된 질문들이 하나같이 실무스러운. 그러니까
sigmoid
ethereum
2018-06-06 15:39
마이닝 - 트렌젝션이 풀에서 블록에 포함되기까지
소소하게 이더리움 한글주석 프로젝트를 진행하고 있습니다. 노드 동작시 아래 순서대로 호출되는 과정에서 eth.New->miner.New: eth/backend.go New -> newWorker: miner/miner.go newWorker: miner/worker.go -> commitNewWork commitNewWork함수에서 새로운 블록의
sigmoid
ethereum
2018-06-05 14:42
마이닝의 시작과 블록이벤트 그리고 블록의 전파
개인적으로 이더리움 한글주석 프로젝트를 진행하고 있습니다. geth의 StartNode 로부터 시작하여 이더리움 프로토콜이 시작하게 되면 크게 4개의 고루틴이 시작되는 데 그 중 하나가 MinedBroadcastLoop이다 geth -> StartNode -> Node.Start : cmd/geth/main Start -> p2p.Server
sigmoid
ethereum
2018-06-05 03:42
블록체인의 초기화/동기화
개인적으로 이더리움 한글주석 프로젝트를 진행하고 있습니다. * 새롭게 노드가 생성되었을때 어떻게 블록체인데이터를 동기화 하는지 소스코드를 분석해 보면, 노드 생성시 geth -> MakeFullNode -> regiseterEthService에서 (이더리움 서비스 생성 중간 부분) CreateDB로 체인DB를 초기화 한후, 메인넷의 제네시스 블록을
sigmoid
ethereum
2018-06-04 17:28
나의 이더리움 분석기 - 노드 간 연결
개인적인 이더리움 한글주석 프로젝트를 진행하고 있습니다. geth는 main에서 크게 2개의 함수를 실행한다. MakeFullNode StartNode p2p노드간 연결은 아래와 같다. MakeFullNode에서 이더리움 프로토콜 매니져를 생성하면서 서브프로토콜로 P2P를 등록함(이때 p2p 핸들러로 Run함수를 저장) StartNode에서 p2pServer가
sigmoid
ethereum
2018-06-04 04:34
나의 이더리움 분석기 - 트렌젝션이 노드간 공유되는 시퀀스
로컬(private account)이나 RPC(PublicTransactionPool)을 통해 SendTrasaction함수가 호출될 경우 local tx pool에 해당 트렌젝션을 추가하고 feed로 새로운 트렌젝션을 추가를 알리면, 노드 실행시 동작하던 broadcast 루프에서 감지하여 등록된 피어중 해당 트렌젝션을 모르는 피어에게 다시 SendTransaction을
sigmoid
ethereum
2018-05-21 19:05
Deleted
.
sigmoid
ethereum
2018-05-21 03:36
Deleted
.
sigmoid
ethereum
2018-05-18 01:56
Deleted
.
← Latest