안녕하세요 전 24살 군필이구요. 컴공 지식은 없습니다. 첨에는 가상화폐만 관심있다가 블록체인 기술 제대로 배우고싶어서 질문드립니다.
우선 옛날에 스팀잇 통해서 조금씩보고 지금도 블록체인 책 사서 보고 있는데 위키북스에서 나온 블록체인 구조와 이론 따라하다가
virtual box랑 우분투 알아서 설치해서 비트코인 테스트넷까지 들어오라는데 여기서부터 막혀서(virtual box랑 우분투가 뭔지도모름) 정확한 커리큘럼을 알고 가야될거같애서 질문드립니다.
1.블록체인을 배우기 위해 C언어,Go언어,파이썬,자바 등 중에 한두개가 필수적으로 선행되어야하나요?
1-1. 만약 선행되어야한다면 무슨언어를 하는게 나은가요? (저중에 파이썬만 발 살짝 담갔다가 뺐습니다. 사실 다시할라면 첨부터해야될듯)
2.제가 아는 한 현재 블록체인 개발?기술?은 이더리움 솔리디티vs하이퍼레저 패브릭 같은데
퍼블릭 블록체인과 프라이빗체인 이라는 차이는 알고있긴한데 둘중에 뭘해야될지를 모르겠네요.
2-1.그리고 하이퍼레저 같은경우는 솔리디티같은 자체 언어가 아니라 go언어랑 뭐 다른언어들 쓸수있는거같은데
하이퍼레저를 선택할경우 무슨언어를 해야되나요?
3.책보면서 하다 보니까 리눅스도 알아야되는거같고 우분투가 뭔지도 알아야되는거같고 이것저것 알아야 될게 많은거같은데
블록체인을 중심으로 다른것들을 어느정도 깊이로 알고 넘어가야되는지 감이 안잡힙니다. 커리큘럼 추천좀해주세요..
3-1.노트북에서 우분투,virtual box 실행하는데 아무문제없나요? 설치는 제대로한거같은데 자꾸 뭐가 안되는거같애서요..
아 참고로 제가 원하는건 비트코인 같은 새로운 가상화폐를 개발하기보단 이미 개발되어있고 활성화가 충분히 되어있는 (이더리움,패브릭,비트코인,이오스 등 정도?) 가상화폐 또는 플랫폼을 이용해서 블록체인을 구현하는게 목푭니다.
질문이 많은데 초보자라 양해부탁드립니다
-------------------------------------
꼬리말
* 게시글 내용 삭제시 레벨 강등
* 질문은 각 주제별 게시판에 적어주세요.
비트코인 암호화화폐 커뮤니티 땡글~ 땡글~
-------------------------------------
1.
블록체인 개발자 또는 dApp 개발자가 되기를 원하는 것이 아니라도 요즘은 교양 차원에서 언어를 배우기도 합니다.
1-1.
이더리움 개발 언어를 정 배우신다면 이더리움 dApp 개발에 필수적인 솔리디티가 어떨까 합니다.
파이썬도 좋습니다. 다목적으로 사용할 수 있고 테스트에도 많이 사용하니까요.
블록체인 개발자에 대하여 정리한 제 글을 참조하세요.
https://www.ddengle.com/develop/10492177
2.
프라이빗 블록체인은 기업을 위한 블록체인입니다. 당장은 기업용 시장이 커질 것으로 보여서 저도 관심을 가지고 있습니다.
프라이빗 블록체인은 허가형 블록체인이라고 할 수 있는데 최근 흐름은 확실히 하이퍼레저 패브릭이 주목 받고 있습니다.
퍼블릭 블록체인이라면 이더리움이나 EOS를 들 수 있습니다.
2-1.
하이퍼레저를 선택하신다면 Go 언어와 Node.js 중 선택할 수 있습니다.
하이퍼레저에서는 스마트컨트랙트 대신 체인코드라고 하는데 아무래도 웹개발에 더 보편적인 Node.js가 어떨까 생각합니다.
dApp 개발의 상당 부분은 웹개발을 필요로하고 있으므로 웹개발의 대세인 Node.js가 낫다고 봅니다.
Go도 좋습니다.
하이퍼레저 패브릭은 기초 서적이 하나 나와 있습니다. 실습 기초 환경 정도를 설명하고 있습니다.
'하이퍼레저 패브릭으로 배우는 블록체인', 윤대근 지음, 제이펍, 2만4천원
개발서적은 아직 나와 있는게 없습니다. 이건 인터넷에서 찾아보시거나 따로 맨투맨으로 배우셔야할듯 합니다.
전문가가 많이 없는 상황이지만요.
3.
커리큘럼이요?
블록체인 코어 개발자가 아니라 응용 개발자라면 암호화 기술과 같은 것을 알 필요는 없어 보이네요.
리눅스(우분투) 명령어와 쉘 사용법 기초, 가상화 중 버츄얼박스 사용법, 그리고 개발에 필요한 docker 사용법,
git 기본 명령어, 원격 접속 및 실행, vi 에디터 명령어 정도를 우선 추천합니다.
3-1.
우분투 가상화에 1 코어 이상, 메모리도 4기가 이상 할당하면 노트북이라도 크게 성능 저하는 없을듯 하네요.
다만 개발용으로 사용하다면 상당히 느립니다. 2 코어 이상 할당해도 말이죠.
개발용으로 따로 PC 한대를 세팅해 놓고 외부에서 노트북으로 원격 접속해서 사용하는 것도 좋은 방법입니다.