redqoralsrl의 등록된 링크

키자드에 등록된 총 420개의 포스트를 확인하실 수 있습니다.

Naver Blog

여러분이 작성해주길 원하는 블로그 골라주세요!

안녕하세요. React-Native와 이더리움 개발하는 블록체인 개발자 밍키입니다! 여러분들의 격려와 응원 속에 이제 힘내서 노션 블로그에 올리는 것이 아닌 네이버 블로그에 글을 적고자 합니다. 여러분이 알고 싶은 것이나 원하는 IT관련 글이 있다면 알려주세요! 적을 수 있는 것은 아래와 같습니다. 1. 블록체인 지갑 2. 이더리움 solidity 3. React-Native 4. 블록체인 정의 5. 하이퍼레져 패브릭 댓글이나 쪽지로 주시면 추후 IT블로그에 맞는 글을 적겠습니다!

Naver Blog

Node.js의 국비 듣는 사람이 많나보네요...

글 정리하면서 Node.js 회원가입을 많이 검색하나보다.... 국비지원을 많이 들으니 아마 조회했나보다... 암호화해서 만들어서 넣는걸로 만들껄... 지금은 아무것도 하기가 싫다.... 잘 적을껄... ㅋㅋㅋㅋ 오늘도 이렇게 하루가 간다!

Naver Blog

민팅 NFT 사기 안당하는 방지책?

블록체인 생태계에서 블록체인을 공부하면서 코드 뜯어보면서 개발하면서 NFT 역시 연구하면서 개발하면서 생각해보았다. 다들 NFT가 우와아아 얼마야 사야해 민팅해야해! 라고한다. 사실 NFT는 블록체인에 정보를 넣어 변경이 안되는 점일뿐 그 정보를 잘 넣어야 한다.(잘 넣어야한다? 제일 밑에 저장할때 글보면 이해한다) 우선 NFT의 기본 개념은 알아서 보고 와라. 나는 개인적인 의견을 적는 블로그다. 자 NFT는 우선 크게 세개로 나눈다고 보면 된다. 증명서, 작품(그림, 사진), 민팅으로 나뉜다. 그래 활용으로 증명서는 이해가 된다. 증명은 단지 증명을 하지 가치는 아니니깐. 여기서 작품... 도용이 남발하고 막을 수 있는 방법이 없다.......

Naver Blog

첫 개발 배포 - 에이락 리워드 및 블록체인 지갑 출시!

안녕하세요. 블록체인 개발자 밍키망키입니다. 어플 개발 및 블록체인 관련 기능의 어플 출시는 처음인데 두근거립니다. 출시는 4월 11일 블록체인 리워드 지갑을 출시하였습니다. 12일인 지금 블로그에 올린 이유는 안정화가 자리 잡히고나서 하는게 좋다고 생각하여 지금 작성합니다. React-Native로 어플을 만들었으며 블록체인 지갑(비트코인, 이더리움, 클레이튼 등과 토큰들)을 지원하며 리워드를 지급해주는 어플입니다. 에이락 검색하셔서 리뉴얼 버전인(진한 주황색)을 받아주시면 되겠습니다! 빙고 이벤트 참여 잊지마세요!

Naver Blog

블록체인 신입 개발자의 이더리움 기술(연구) 간단 문서

이더리움이란? - P2P 네트워크의 분산 컴퓨팅 플랫폼 => 컴퓨터와 컴퓨터들을 연결한 네트워크로 각자 블록체인이 저장되어 있다. - 비허가형 퍼블릭 블록체인(Permissonless Public Blokchain)으로 C++과 Go언어를 사용해 개발 => 비허가형 퍼블릭 블록체인이란? 블록체인 네트워크에 허가없이 자유롭게 참여 및 탈퇴가 가능하며 트랜잭션의 생성에 직접 참여하거나 트랜잭션을 작성할 수 있다는 것을 의미한다. - 스마트 컨트랙트를 이용해 탈중앙화된 플랫폼 구축 가능 => 중단, 검열, 사기 등과 같은 제 3자의 방해 가능성 없이 프로그래밍 된대로 정확히 동작하는 프로그램이다. => 예시로 자판기처럼 만들.......

Naver Blog

블록체인 백엔드 면접준비

자기소개 1분 안녕하십니까 백엔드 지원자 백민기입니다. 블록체인 국비과정을 통해 프론트엔드/백엔드 및 이더리움 스마트 컨트랙트를 준비함과 동시에 오픈소스와 스택오버플로우에서 트러블 슈팅을 배워가며 스스로 더 공부해 나가고 있습니다. 혹은 openzeppelin나 스팀잇의 소스 코드를 가져와 저만의 것으로 만들어보며 새로운 곳에 적용시켜보는 과정에서 코드는 가독성 좋게 클린코드로 작성하려고 합니다. 배운 내용과 이해한 내용을 토대로 블로그, 또는 책으로 만들어 감으로써 기록과 지식이 점점 쌓여가면서 이 분야가 저에게 가장 알맞다는 생각이들어 도전하게 되었습니다. 감사합니다. 1) 블록체인 프레임워크 사용 => N.......

Naver Blog

IT공부 어려워도 포기하지마세요!

블록체인 개발자 꿈을 대학교 3학년부터 이루려고 노력했지만 정말 블록체인 개발자로 거듭났다. 내가 정말 네이버 블로그를 엄청 많이 쓰지만 최근에는 많이 쓰지 못했다.... 왜냐하면 회사계정으로 깃허브 만들고 회사계정으로 노션을 만들어 그곳에서 개발을 시작한지 한달하고 일주일 지나고... 사실상 내가 적는 공부블로그는 올릴 수 있지만 현재는 개발을 진행하면서 회사보안으로 내가 공부하고 적용하는 기술을 공유할 수는 없다. 우선적으로 개발을 하면서 가장 필요한 것은 모르는 언어를 접하고 그 코드를 읽고 회사에 적용시키는 일이 다반사다. 나는 항상 노력으로 지금까지 살아왔다. 코드를 잘하거나 잘 구상하지 못한다. 머리 터.......

Naver Blog

나의 2022년 개발 목표!

1. 블록체인 지갑을 한번 공부해보자! 2. 솔리디티는 잊지말고 꾸준히 보자! 3. Rest API의 역할을 잘 배워놓자! 여러 개를 목표 삼으면 현재 작업하는 프로젝트에 무리가 갈 수 있으니 목표는 적게! 회사 일에 지장 없게!

Naver Blog

블록체인 풀스택 개발자 일기

국비지원 블록체인을 통해 공부를 하면서 처음 도전한 연구소에 합격을 하며 무난하게 들어가는 가 했다. 처음 입사한 부산의 블록체인(하이퍼레저 패브릭)의 연구소에 입사해서 공부와 연구를 배워가며 다녔지만 나는 이더리움, 비트코인과 그리고 해당 서비스를 만들고 싶어서 한달만에 그만두고 다시 서울로 블록체인 풀스택 개발자로 취직했다. 현재는 회사계정의 노션을 따로파서 공부한 내용 및 개발 일지 등을 작성한다. 네이버 블로그도 관리해야하지만 내가 입사하자마자 2주공부하고 바로 개발에 들어간지 3달이 되어간다. 리액트 네이티브, node.js, GraphQL/Prisma, Ethers, Bitcoin을 개발하고 있다. 블록체인 풀스택 개발자로 거듭.......

Naver Blog

개발자로써 개발하면서 배운점 (한번 읽어보세요!)

개발하면서 프로젝트에서 코드 짤때 주의해야할 점이 있다. 1. 라이브러리 최대한 적게 사용 혹은 비슷한 라이브러리 중에 경량 라이브러리로 사용하자. => 회사 클라우드 서버를 이용하면 최대한 적게 용량을 차지해야함 그래서 파일도 주로 svg사용 (png는 비교적 큼) 그리고 최대한 라이브러리를 사용을 줄이면서 직접 구현하자. 2. 코드를 짜서 코드리뷰를 할때 서로 조언을 아낌없이 하자. => 서로의 코드를 자꾸 읽는 습관을 가지면 무슨 코드가 와도 분석이 빠르다 그리고 생각지 못한 코드 구성 방법을 조언 받거나 막힌 부분을 다른 사람이 도와줄 수 있다. 3. 해당 라이브러리를 100% 활용하려면 Test 코드를 읽자! &#.......

Naver Blog

블록체인 개발자가 보는 NFT

나는 블록체인을 좋아해서 부산에서 살다가 공부를 위해 서울로 올라와서 블록체인을 배우고 서울에 현재 블록체인 개발자로 재직 중이다. 우선적으로 나는 블록체인이 돈이라는 건 아직도 인정하지 않는다. 가치를 저장하는 수단으로 생각한다. 가치를 저장하는 것이 제일 나에게 와닿으면서 그에 증명하는 보상이라는 수단에 불과하다. 나는 그래서 리워드 플랫폼에 치중하는 회사에 정말 나와 성격이 같아 만족한다. 블록체인은 누누히 말하지만 돈이 아니다. 현재 블록체인 지갑을 만들며 NFT도 공부하며 그에 따른 기능을 만들고 있다. 현재 공부하면서 느낀건 NFT가 지금 이 상태로 가면 어떻게 될까이다. 여기서부터는 나의 생각과 개발자.......

Naver Blog

개발하면서 필요한건 조직!

개발하면서 필요한건 잘하고 못하고가 아니다. 나혼자 잘해서는 안된다. 그리고 팀을 무시하거나 뭐라하면 안된다.(연구소에서 제일 서러웠음.) 연구소에서 정말 팀워크보다 개인 플레이를 중요시하고 각자의 개발 능력으로 각자 개발한다. 정말 난 거기서 발전한게 없었다. 하지만 지금 개발하면서 느끼는 건 협력과 교류다. 서로가 서로를 도와주며 오류를 고쳐주며 배워간다. 연구소에서는 아무것도 못하는 코드만 치는 연구원 이었다면 지금 다니는 회사에서 협력과 교류를 하는 지금 나는 엄청 성장해져있다. 앞으로 몇년 뒤 어마무시한 개발자가 되고 싶다. 우선 블록체인 지갑 개발을 이해해버린 내가 뿌듯하다. 그래서 결론은 팀이 못하.......

Naver Blog

블록체인 개발자로 공부와 취업을 원해요 / 질문 시리즈 - 취업시리즈 /

너무 많은 개발 꿈나무분들이 질문을 해서 남기는 질문시리즈다. 내가 이렇게 블로그를 잘 적은 적도 없고 취업하고나서는 노션에서 활동 중이다. 질문이 너무 많이 오는 관계로 반복 질문들은 여기에 적겠다. 1. 블록체인 개발자로 전향이 어려운지? - 팩트를 말해주겠다. IT 자바스크립트나 생활코딩의 영상을 하나 봐라. 그것이 어렵거나 이해하려고 애쓰다가 망하면 그냥 개발자가 안 맞는 것이다. 접는 것을 추천한다. - 우선 블록체인 개발자라고 해서 블록체인을 100%하는 곳도 있겠지만 사실상 Dapp서비스를 만드는 것이다. 일상적으로 웹 서비스나 어플리케이션 서비스를 블록체인 과 연결하는 것이 대부분이다. (메인 개발로 들어가면.......

Naver Blog

믿음

일하면서 느끼는 것이 있다. 바로 믿음이다. 과연 내가 일을 하면서 믿음을 어떻게 해야 보여줄까... 회사에 도움이 되기 위해 매일 블록체인 컨퍼런스... 전시회... 조회하면서 도움이 되는 것을 알려주고 가고 싶다고 제안한다. 하지만 나는 제외일 뿐이다... 나도 관련된 개발을 해야하는데 정작 제외일 뿐이다. 그래도 나는 회사에 도움이 되기위해 메타버스 등 관련 정보들을 혼자 꾸역꾸역 조회해서 알려준다... 나는 언제쯤 도움이 된다고 인정을 받을까? 그래서 더더욱 나는 같은 팀 개발자들한테 무엇을 해야할지 하나도 빠짐없이 알려준다. 나도 물론 내 코가 석자이지만 난 나와 함께 일하는 사람들을 믿는다. 내가 아는 블록체인 정.......

Naver Blog

이더리움 정리중

들어온상태로 나와서 실행이 잘되는 것을 확인할 수 있다. ==================================== 파일이 생성된다. solidity 버전을 migrations.sol에서 가져온다 만약 궁금하다면 help를 쓰자 truffle-config.js에서 포트를 ganache-cli에 나온 포트로 바꾼다. test 폴더에 가서 TestAdoption.sol을 만든다. 같은 위치에 testAdoption.test.js ================&#x.......

Naver Blog

Solidity 문법 및 Gas 절약

uint uint는 기본적으로 숫자를 명시하지 않으면 uint256으로 설정된다. 하지만 struct 안에서는 명시하는 것이 Gas를 덜 소모하는 것이니 명시는 해주자. 8~256까지 8비트 간격으로 설정 할 수 있다. 저장공간보다 커지면 0부터 다시 시작하니 유의하자! uint8은 최대 2 ^ 8 까지 uint16은 최대 2 ^ 16 까지 uint32, uint256까지 있지만 여기서 중요한 점은 숫자가 늘어날수록 가스비가 많이 든다. 그래서 최소한 십몇년만 사용할 정도의 양만 사용해서 Dapp을 구성하는 것이 좋다. 그리고 같은 uint 의 뒤에 승수가 같은 것끼리 묶어놓으면 절약이 된다. 위와 같이 하는 것보다는 아래와 같이 묶어주는 것이 절약이 된다. uint (부호없는 정수.......

Naver Blog

Web3.js

설명 Ethereum 네트워크는 여러 사용자(EOA)들이 연결되어 있다. 특정 역할을 하는 smart contract들로 구성되어 있다. 실행하기 위해서는 스마트 컨트랙트의 주소, 실행하고자 하는 함수, 함수에 전달하고자 하는 변수들을 전송해야한다. 하지만 이더리움 노드들은 JSON-RPC로 불리는 언어로 소통하기에 가독성과 읽기가 어렵다. 그래서 Web3.js가 등장했다. Web3.js 라이브러리는 이더리움 생태계를 위한 기능을 포함하는 모듈 모음이다. 모듈 web3-eth - 이더리움 블록체인과 스마트 계약을 위한 것 web3-shh - P2P 및 방송 통신을 위한 귓속말 프로토콜 web3-bzz - 분산 파일 저장소인 Swarm 프로토콜을 위한 것 web3-utils - Dapp 개발자를.......

Naver Blog

S-6) 이더리움 투표 Dapp 제작

Election.sol을 만들어보자. Election.sol에서 코드를 짜보자. migrations에 2_deploy_contract.js를 만들고 연결을 시키자. 그리고 truffle-config.js를 로컬 포트 8545로 변경하자. 여기서 테스트를 해보려면 우선 로컬로 ganache를 실행한다. 이제 테스트를 해보자. 위와 같이 나온다면 만들 준비가 된 것이다. 이제 후보자의 구조체를 만들어보자. id 값, 이름, 투표 수로 만들었다. uint값을 기준으로 후보자의 데이터를 만들었다. 하지만 여기서 투표 수인 전체 데이터를 조회하는 게 불가능해서 따로 숫자를 만들자. 그리고 후보자를 추가하는 함수를 private로 만들어보자. 그러면 이제 후보자 2명을 contract에 등록하자. 다했다면 이제.......

Naver Blog

하이퍼레저 패브릭 체인코드 vs 스마트 컨트랙트

하이퍼레저 패브릭 - 알려진 참가자를 대상으로 하는 비즈니스 응용 환경에 맞는 블록체인 개발 - 다양한 분산 응용 개발을 효율적으로 지원할 수 있는 플랫폼 개발 - 모듈 구조를 가지는 분산 응용 플랫폼 개발 하이퍼레저 패브릭 특징 - 허가형 블록체인 - 일반 프로그래밍 언어 사용 - 내부 가상통화 부재 - 높은 성능 - 교체 가능한 모듈 구조 - 멀티 블록체인 지원 허가형 블록체인 - 멤버십 관리 서비스를 통해 허가된 참여자만 접근을 허용 - 블록체인 접근 권한을 제어 가능 - 참여자 행위에 대한 책임성 확인의 요구사항을 반영 - 작업 증명 기반의 합의 알고리즘을 사용하는 대신 보다 효율적인 합의 알고리즘을 사용 가능 - 높은 거래.......

Naver Blog

S-2) 이더리움 토큰 만들기부터 Ropsten 테스트넷 발행하기

이더리움 토큰을 만들어보자! // ChowToken.sol 해당 솔리디티 버전은 node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol 의 명시되어 있는 버전을 사용하는 것이 좋다. // 2_deploy_GameToken.js 위는 이더리움 트랜잭션을 눈에 보기 편하거나 조회가 가능하게 할 수 있다. 회원가입하면 3개는 무료로 등록할 수 있다. 위와 같은 로그인을 하면 볼 수 있다. 왼쪽에 위에서 첫번째 이더리움 모양을 클릭하면 프로젝트가 나올 것이다. 나는 이미 만들어서 다른 코인이 있지만 새로 한번 만들어보자. CREATE NEW PROJECT를 눌러보자. 난 ChowToken이라고 만들 것이다. 똑같은 이름으로 만들어주면 좋다. 위와 같이 뜬다면 ENDPOINTS를 R.......

Naver Blog

S-3) 이더리움 토큰 - mint 토큰 추가로 생성하기

// MyNFT.sol keccak256은 안에 넣은 문자를 해쉬값으로 32바이트로 반환해준다. 암호화를 하는 것이다. _setupRole은 권한을 첫번째 파라미터는 암호화 두번째는 주소를 넣어 토큰을 건들일 권한을 추가하는 것이다. hasRole은 권한에 이 암호화문자와 주소를 가진 사람이 있는지 확인해주면서 있으면 true를 반환해준다. _mint는 토큰을 생성하는 함수이다. // 2_deploy_MyNFT.js 작성을 하고 truffle-config.js에 주석을 해체하자. 로컬이라 로컬과 관련된 주석을 해체하자. 를 했다면 이제 로컬에서 돌릴 것이다. 새 리눅스를 켜보자. 위에 실행을 하고나서 원래 켜져있는 리눅스에 와서 위의 결과가 나왔다면 메타마스크에 일단 연결시킨다.......

Naver Blog

S-4) 이더리움 토큰 - 생성(mint), 소각(burn)

// TestToken.sol // 1) 솔리디티 버전을 선언한다. MIT 라이센스를 사용하고 0.4.22 이상의 버전 0.9.0 미만의 버전을 사용을 선언한다. // 2) 첫번째는 Role이라는 권한을 가진 사용자인지 등록하거나 확인하거나 하는 용도로 사용한다. 두번째는 토큰을 만들기 위해 필수적으로 ERC20을 사용한다. ERC20등등 어떤 기반에 따라서인지 바뀐다. // 3) contract를 선언한다. 여기서 상속을 받기 위해서 is라는 것을 사용한다. // 4) 해당 문자단어를 암호화하는 것이다. keccak256이라는 함수를 사용한다. // 5) 현재 접속중인 지갑의 주소를 넣는다. msg.sender가 현재 연결중인 지갑을 나타낸다. // 6) 코드 실행시 처음 한번만 실행되는 것으로.......

Naver Blog

S-5) 이더리움 토큰 - 권한 수동 부여 및 생성(mint), 소각(burn) (2)

위의 버전을 업그레이드해서 만들어보자. 하지만 보안은 안 좋으니 비추천을 한다. 설명은 위의 코드와 같은 것은 설명을 생략하겠다. 우선적으로 권한을 수동으로 주는 것이다. // NewToken.sol // 1) 이번에는 디폴트로 주는 것이다. 나중에 이더 월렛에서 권한을 직접 등록하는 것이다. // 2_deploy_NewToken.js // truffle-config.js 에서 주석을 해제하고 버전을 자신이 사용하는 것으로 바꾼다. 이제 해당 주소를 메타마스크와 연결한 후 토큰을 추가하자. 이제 마이이더월렛에 가서 연결을 해준다. 해당 토큰 생성을 위해서 MINTER_ROLE에서 해당 바이트 값을 받는다. 그 바이트 값을 복사해서 GrantRole에 Role에 넣는다. 그리고 마이닝.......

Naver Blog

블록체인 공부 및 취직 고민이 다시 왔다....

블록체인도 2~3달 뒤에 끝나서 취업 준비하면서 취직 할 곳을 찾고 있다. 내가 서버 리눅스나 윈도우를 해서 서버관리자나 보안을 갔다면 지금도 서버나 클라우드 등을 만졌겠지? 내가 원래 딥러닝과 파이썬을 계속 했다면 이미 실무에서 딥러닝과 파이썬으로 작업을 하고 AI를 만들고 있었겠지? 내가 지금 블록체인을 배우면서 여태까지 많은 IT와 많은 언어들을 접해보았다. 하지만 블록체인을 내가 2015년부터 너무 좋아한 나머지 너무 배우고 싶었다. 이제 마침 그런 기회가 왔고 배우면서 물론 복잡하고 어렵다. 하지만 쉽지는 않을 꺼라 예상했다. 취직 준비하면서 정말 기업들을 보면서 지원을 생각하지만 왠만한 도전의식을 가지고 싶은.......

Naver Blog

하이퍼레저 패브릭

하이퍼레저 패브릭 뜻 블록체인 솔루션과 응용 프로그램을 개발하기 위한 모듈형 아키텍처 플랫폼이다. 리눅스 재단이 주도하여 설립한 하이퍼레저의 프로젝트 중 하나로 다양한 기술 운영위원회와 여러 조직의 유지 관리자에 의해 관리된다. 합의 및 회원 서비스와 같은 구성 요소를 플러그 앤 플레이 방식으로 지원한다. 허가받은 사용자만 참여할 수 있는 허가형 블록체인으로써 프라이빗 블록체인의 일종이다. 개요 리눅스 환경에서 호스팅하는 프로젝트로 오픈소스를 활용하여 비즈니스 환경의 기밀 유지와 확장성을 지원한다. 컨테이너 기술을 활용하여 체인코드라는 스마트 계약을 호스팅한다. 암호화폐 없이 합의 프로토콜을 활용할 수 있.......

Naver Blog

이더리움 truffle 설치 및 사용법 및 테스트 스마트 컨트랙트 배포

설치 윈도우에 솔리디티를 위해 테스트 환경을 만들자. truffle 설치전 node와 vscode를 설치한 뒤 truffle을 설치하자 이번에는 ganache-cli를 설치하자. 블록체인 네트워크를 테스트 환경에서 잘 하게끔 설정하는 것이다. 아래 명령어를 입력하면 잘 실행하면 설치 완료다. 그리고 vscode의 solidity extension을 다운 받자. 그리고 웹 브라우저에 메타마스크를 설치하자. 기본적인 세팅이 되었다면 시작해보자. 우선 cmd창을 켜서 cd Desktop을 해서 바탕화면으로 들어가자. 이제 해당 비쥬얼 스튜디오 코드가 켜진다. 연결 및 작성 Lottery.sol 파일을 만들어 작성해보자. pragma solidity 버전은 Migrations.sol의 버전을 가지고 와서 위와.......

Naver Blog

블록체인 코인과 토큰의 차이?

코인과 토큰은 보통 사람이 보면 비슷하거나 똑같다고 한다. 하지만 조금은 다르다. 코인 독립된 네트워크(메인넷)을 소유한 경우 코인이라 칭한다. 자기 자신만의 네트워크가 구축되어 있으며 독립된 형태를 가지고 있다. 토큰 독립된 블록체인 네트워크를 소유하지 않은 경우 토큰으로 부른다. 주로 ERC-20의 기반인 토큰이 많이 생성되는데 이더리움의 네트워크에 의존하는 것이다.

Naver Blog

S-1) 이더리움 토큰 만들기

contracts => GameToken.sol migrations => 2_deploy_GameToken.js truffle-config.js 에서 45~49, 85 주석해체 및 버전 변경 리눅스로 와서 새로운 리눅스를 켜서 하고나서 의 주소를 메타마스크에 토큰추가에 넣으면 토큰이 잘 생성 된다.

Naver Blog

블록체인 기반 플랫폼 분류

공개형 블록체인 공개형 블록체인은 누구나 해당 블록체인 생태계에 자신이 노드를 구성하여 참여할 수 있다. 개발자는 해당 플랫폼의 기능을 개선하거나 해당 플랫폼 기반의 새로운 서비스를 구축할 수 있다. 대표적으로는 비토코인 코어와 이더리움이 있다. - 비트코인 코어 비트코인의 레퍼런스 클라이언트로써 비트코인 파운데이션에서 개발하고 있다. 비트코인 코어를 이용하면 비트코인 네트워크에 연결하여 비트코인 데이터를 다운받고 동기화하고 거래와 마이닝을 할 수 있다. 비트코인 코어를 복제하면 비트코인과 유사한 암호화폐를 구현할 수 있다. 그래서 알트코인이 비트코인 코어를 기반으로 하거나 개선하면서 개발 되었다. - 이.......

Naver Blog

Ethereum 토큰 전송 코드 및 이더리움 플랫폼이란?

이더리움 토큰 전송 코드 위와 같이 전송이 가능하다. 이더리움 전송이란? 이더리움의 전송은 예시로 은행에서 거래를 하면 1만원을 전송하는데 1만원 수수료가 들면 총 2만원을 차감하고 받는 사람의 계좌에 1만원을 추가해준다. 이런식으로 이더리움은 전송을 하는데 여기서 송금처럼 트랜잭션이라고 블록체인은 칭한다. 이렇게 잔액 상태가 변하는 동일한 상태 전이 과정을 기반으로 작동한다. 상태 전이란, 특정 시점의 현재상태가 상태 변이 함수에 의해 다른 상태로 전이되거나 전이에 실패하고 이전상태로 복귀하는 것을 말한다. 이더리움의 기본 단위는 어카운트(account)다. 모든 어카운트는 중복되지 않는 식별자로 특정 주소를 부여받.......

Naver Blog

이더리움 Solidity - 1

Solidity 언어로 이더리움 Remix 개발 환경 테스트 툴에서 간단하게 만드는 프로그래밍을 해보자. 우선적으로 위의 Solidity의 확장자는 sol로써 만드는 것이다. 만들고 나서는 SOLIDITY COMPILER를 왼쪽에서 두번째 모양을 클릭해서 Compile 파일이름.sol 을 컴파일 한 뒤 왼쪽에서 세번째 DEPLOY & RUN TRANSACTIONS를 클릭해서 Deploy를 클릭하면 해당 파일을 실행하여 아래에 Deployed Contracts 안에 결과가 나오게 된다. 정수 반환하는 함수 1) 솔리디티 버전 설정 2) 컨트랙트 HelloWorld 생성 3) 문자 타입 private 선언 4) GetHelloWorld 함수를 모두가 볼 수 있는 문자열 반환하는 함수 생성 True, False 반환하는 함수 1) bool 타.......

Naver Blog

이더리움 토큰 발행 openzeppelin 및 기본 테스트

우선적으로 WSL 을 설치하자. WSL에서 설치할 것은 Node.js 와 npm 과 truffle 과 ganache-cli 이다. 위와 같이 설치가 끝나면 을 통해 버전이 나오는지 확인하자. nvm은 없으면 검색을 통해 다운을 받자. 자 이제 필수 실행 요소인 truffle을 다운받자. 위와 같이 설정이 되었다면 이제 이더리움으로 세팅을 해보자. 위와 같이 설치를 마친다면 대략적인 설명을 보자. 위를 설치한 것은 openzeppelin은 토큰 컨트랙트 개발에 도움을 주는 것이다. 즉, 이번에 만드는 것은 ERC20 기준을 따르는 실제 사용 가능한 토큰 컨트랙트이다. 토큰 전송도 가능하고 각 계정의 잔고도 확인이 가능하다. 우선적으로 아래와 같이 기본 파일들이 있는데 contra.......

Naver Blog

이더리움 토큰 발행 배열 매핑

우선적으로 설정이 없다면 아래 링크를 통해 설치하자. contracts => ArrMapping.sol migrations => 2_ArrMapping.js truffle-config.js 에서 45~49, 85 주석해체 및 버전 변경 리눅스로 와서 실행을 하고 아래 링크로 들어간다 만들어 본 것을 잘 실행하면 된다.

Naver Blog

이더리움 DApp 개발 전 지식

스마트 컨트랙트 - 안전하게 배송이 완료되었을 때 구매자가 확인하면 판매금이 판매자에게 송금되게 작동되는 원리이다. 디앱의 목적 - 시스템 상호작용에서 참여자 간 신뢰 필요성을 최소화하거나 제거하는 것이다. 중앙화 앱? - 탈중앙화 앱(디앱) 전에 중앙화 앱부터 알아보자. - 기존 우베이나 기업용 앱은 사용자와 관련된 부분을 회사가 직접 관리하는 중앙 집중 방식으로 처리한다. - 중앙화된 주체가 직접 제어가 가능하다. - 사용자 관점에서 시스템은 신뢰하거나 못하는 경우가 발생한다. 디앱이란? - 긍정적인 거래조건으로 스마트컨트랙트가 대표적이다. - 거래 실행 및 검증의 독립성으로 합의 알고리즘이라고 한다. - 투명성으로.......

Naver Blog

클레이튼 월렛과 계정관리

이번에는 클레이튼 지갑과 클레이를 활용을 위한 개발환경을 세팅하자. 여기서의 클레이는 금전적인 가치가 없는 클레이로 테스트나 개발용으로 사용할 수 있는 곳이다. Create Account를 누르자. Keystore File은 쉽게 말해 은행에가서 통장을 만드는 과정인데 다른사람이 함부로 못사용하게 금고에 넣어서관리 하겠다는 것이다. 이것이 비밀번호와 Keystore File과 합쳐서 만드는 것이다. 만들면은 위와 같이 다운로드를 하라는데 키스토어 파일이다. 그리고 다운로드를 누르면 바로 키번호들이 나오는데 위와 같이 프라이빗 키와 지갑 키가 나온다. 따로 잘 저장하자. 이것은 절대로 외부에 노출되면 안된다. 통장비밀번호와 금액들이 노출되.......

Naver Blog

Solidity 기초

Solidity는 스마트 컨트랙트를 구현하기 위한 컨트랙트 기반의 고급 프로그래밍이다. Solidity는 C++, Python, Javascript의 영향을 받아 만들어졌다. 정적 타입이며, 상속, 라이브러리 그리고 사용자 정의 자료형을 지원한다. 실험하기 좋은 방법은 Remix를 사용하는 것이다. 솔리디티는 책이나 우선 다른 것보다도 C++을 알고 있으면 좋다. C++을 기반으로 아래 링크는 배워볼 수 있는 것이다. 위는 해당 좀비를 만드는 것이지만 나는 스타크래프트 마린 만들듯이 만들어보겠다. version pragma 모든 솔리디티 소스 코드는 version pragma로 시작해야 하는데 솔리디티 버전을 선언하는 것이다. 업데이트나 새로운 컴파일러 버전이 나와도 기존.......

Naver Blog

블록체인 팀 프로젝트 1) 웰시코기 코인 Build 및 채굴 (따라만 하면 쉽게 만드는 코인)

팀프로젝트인 코인을 만들고 거래소를 만들기 위함이다. 우선적으로 라이트코인 즉, 비트코인 기반인 웰시코기 코인을 build해보자. WSL은 위와 같이 설치 후 (GUI까지는 안해도 무관) 위의 ubuntu 20.04 LTS를 다운하고 실행하면 잘된다. 해당 설치방법이나 세팅은 생략하고 빌드에 중점적으로 하겠다. 1) WSL의 20.04.2 LTS 우분투 실행하기 2) 작업 공간 만들기 해당 작업을 하기전에 항상 습관이 apt 업데이트와 업그레이드를 하자 3) 만들기에 앞서 필수 요소들 설치하기 위와 같이 설치가 진행을 한다. 하지만 나는 설치를 미리 해놔서 위와 같이 뜬다. 4) 라이트코인 기반(비트코인 계열) 깃 클론 하기 깃 클론한 디렉토리에 가보면 해당.......

Naver Blog

블록체인 팀 프로젝트 2) 오라클 클라우드로 웰시코기 코어 지갑 돌리기

이번에는 웰시코기 코인을 build한 것을 토대로 네트워크에 돌려보자. 우선 위에처럼 코인을 만들었다면 아래의 링크를 통해 오라클 클라우드를 만들자. 방화벽까지 포트 연결을 허용시켰다는 가정하에 시작하겠다. 즉, 우리가 저번에 포트 설정을 한 9535 9525 19525 19535포트까지 열어줘라. 리눅스 포트 여는 것이다. 그리고 블록체인을 build 중에 해당 용량이 부족할 것이다. 용량을 늘려주자. show 를 하면 늘어난 것을 볼 수 있다. 위를 입력해 나노를 키면 위와 비슷하게 뜰것인데 위를 저 위의 내용 밑에 적어주면 된다. ctrl+O, 엔터, ctrl+X를 누르면 저장 후 나가기가 적용된다. ========&#.......

Naver Blog

C++ 프로그래머스 카카오 징검다리건너기

정답은 낼 수 있는 코드지만 효율성은 제로인 코드다. 이분 탐색법을 이용한 효율성 올리기

Naver Blog

블록체인 알트코인(비트, 라이트 코인 계열) 만들기 (우분투)

알트코인을 만들어보자. 기반은 비트코인이지만 소스는 비트코인 계열 중 라이트 코인으로 사용할 것이다. 우선적으로 작업할 디렉토리의 위치에서 깃 클론을 할 것이다. 시작하기에 앞서 필수 요소를 설치하자. 이제 깃 클론을 통해 라이트 코인 중에서도 single branch 0.15로 받아오자. 여기서 중요한 점은 해당 코인의 이름을 정해주자. 나는 내 이름의 코인으로 바꿀 것이다. 해당 디렉토리로 들어가보면 위와 같이 구성되어 있지만 작업하기에 앞서 안에 내용들은 Litecoin이나 litecoin들로 이름이 되어있다. 하기에 앞서서 난 이미 사용되었지만 posix를 사용해야해서 아래처럼 나오면 1번으로 설정하자! 이 부분들을 고쳐보자. 라이트코.......

Naver Blog

블록체인 정리안함

vi ./contrib/debian/examples/bitcoin.conf 위에 들어가면 통신에 대한 설명이 나온다. 일단 우선적으로 원래라면 다른이름으로 되어잇어서 kgacoin.conf 해당 코인이름으로 바꿔야하는데 바꿔서 올렸다. 안에 통신할 사람을 추가하고 아래를 실행한다 첫번째는 오타지만 두번째도 오류난다. 해당 데이터 폴더가 없기때문이다. 그러고 다시 실행을하면 잘된다 통신중========================== 위와 같이 해야된다. 이번에는 제네시스를 해보자. curl이 있는지 확인 그리고 실행을 하면 잘된다. 기다리다.......

Naver Blog

블록체인 LINUX - SHELL SCRIPT

프로그래밍을 안다는 가정하에 간단하게 작성합니다. 우선적으로 리눅스의 우분투다. 우분투에서 현재 새 디렉토리를 만들어서 안에 아무것도 없는 것을 확인하자. 파일을 sh 쉘 파일을 만들어서 vi 로 편집해보자. 날짜와 내가 무엇으로 로그인 했는지를 알기 위한 쉘 파일이다. 방법은 2가지로 실행이 가능한데 일단 첫번째 방법은 bash로 자신의 쉘 환경으로 바로 실행시키는 것이다. 두번째 방법은 ls -l로 확인해보면 권한이 644인데 권한을 744이든 755든 자유롭게 우선적으로 제일 앞 UID권한을 7로 주자. 그럼 날짜와 어떤 아이디로 로그인 했는지 나온다. 이번에는 출력을 만들어보자. 똑같은 test.sh파일을 열어서 아래와 같이 수정하.......

Naver Blog

블록체인 Bitcoin - Build 및 지갑 실행 (우분투)

비트코인을 우리가 코드를 받아서 빌드를 해보자. 우선적으로 자기가 작업할 위치에서 비트코인을 받아오자. 받아오기전 기본적으로 해야할 명령어를 실행하자. 그리고 자기가 작업할 공간인 디렉토리에서 작업을 하자. 난 우선적으로 blog라는 디렉토리에서 작업을 한다. 안에는 전에 하던 내용들이 있는데 이건 일단 없는셈치고 작업을 진행하겠다. 위의 링크는 비트코인을 받아서 어떻게 사용하는지 빌드법이다. 나도 이 방법대로 진행을 한다. 그럼 이제 필수 설치파일들을 설치하자. 이제 비트코인 소스를 깃에서 받아오자. 용량이 조금 커서 컴퓨터가 느린 사람은 오래 걸릴 것이다. 혹은 같은 인터넷 네트워크 이용자가 많으면 조금 느릴.......

Naver Blog

C++ 백준알고리즘 최소, 최대

#include <climits> 에서 INT_MAX와 INT_MIN을 쓸 수 있지만 범위가 지정되어 있어서 어쩔 수 없이 지정하였다.

Naver Blog

Klaytn 스마트 컨트랙트, 솔리디티(Solidity)

Smart Contracts - 블록체인에 저장된 프로그래밍 Account 코드가 있는데 그 안에 code hash가 있다. 이것을 가지고 블록체인을 가져올 수 있는 것이다 - 특정 주소에 배포되어 있는 TX로 실행 가능한 코드 스마트 컨트랙트 소스코드는 함수와 상태를 표현, 컨트랙트 소스코드는 블록체인에 저장 함수는 상태를 변경하는 함수, 상태를 변경하지 않는 함수로 분류 사용자(end user, EOA owner)가 스마트 컨트랙트 함수를 실행하거나 상태를 읽을 때 주소가 필요 - 스마트 컨트랙트는 사용자가 실행 상태를 변경하는 함수를 실행하려면 그에 맞는 TX를 생성하여 블록에 추가(TX 체결 = 함수의 실행) 상태를 변경하지 않는 함수, 상태를 읽는 행.......

Naver Blog

Klaytn SDK (Software Development Kit) : caver-js

Klaytn SDK - Klaytn은 BApp 개발을 위해 필요한 SDK를 제공 - caver-js는 Node.js로 Klaytn BApp을 만들때 필요한 라이브러리를 제공 개발환경 셋팅 Node.js 설치 개발 디렉토리 생성 및 Caver-js 설치 - 성공적으로 Node.js를 설치한 뒤 원하는 위치에 개발 디렉토리를 생성 - 디렉토리 생성 후 npm으로 Node.js 프로젝트를 초기화, caver-js를 설치 Baobab 테스트넷에 연결 하기에 앞서 클레이튼은 세계관이 3개가 있다. 아스펜, 바오밥, 싸이플러스가 있다. 하지만 프로젝트는 바오밥으로 했다. 신기하게도 나무 이름들이다. a, b, c로 시작하는 나무이름이다. 다음은 d로 시작하는 네트워크가 나오겠지?라는 생각이다. 싸이플러스는 메인넷.......

Naver Blog

정리아직안함

chainparams.cpp chainparamsbase.cpp 메인넷 로 수정 테스트넷 코인 이름번호 제네시스 블록 결과 값 다시 chainparams의 메인넷을 건드리자 49번째줄 timestamp랑 ParseHex를 바꾼다 121번째 줄에 123번~124번째줄에 123 124 126~131 주석 후 2줄 추가 150에 제네시스 해쉬를 추가한다 172번 줄에 메인설정끝 ===================================== chainparamsseeds.h에 안에 배열들을 주석친다 테스트넷과 메인넷 둘다 주석쳐라 테스트넷 &#x.......

Naver Blog

블록체인 ( BLOCK CHAIN ) 개발하기 전 알아야 하는 지식 1)

1) 블록체인의 영상이 담긴 글이다. 2) 블록체인을 활용한 디앱과 일반 앱의 차이점이다. 블록체인하면 떠오르는 것? 블록체인이라면 가장 떠오르는 것은 비트코인이다. 하지만 이것은 틀딱이라고 흔히 말해도 된다. 이제는 디파이시대다. 나는 블록체인하면 디파이가 먼저 떠오른다. 아마 옛날로 치면 폴더폰 하면 틀딱이듯이 블록체인도 이제는 변화가 일어난다. 자 이제 블록체인을 알아보자. 블록체인? 일단 가상화폐로 알고 있지만 화폐는 언제부터 개념이 있었을까? 바로 구석기나 신석기에 물물교환이 있는 시대부터 거래가 일어났다. 하지만 발전이 되면서 점점 물물교환에 필요한 지폐가 탄생하게 된다. 중국 송나라 교자때 처음 생겨났.......

Naver Blog

기존 블록체인 플랫폼의 약점

Scalability(확장성) TPS + Block Interval TPS (Transaction Per Second) : 초당 몇개의 거래 처리 Visa : TPS 1700 Bitcoin : TPS 7 Ethereum : TPS 15 ~ 20 Block Interval : 블록 생성 간격 Bitcion : 10분 Ethereum : 15초 ~ 20초 TPS 10,000 & Block Interval이 10분이면 사용자는 1초에 10,000개의 Transaction을 처리하는데 그 내용을 담은 블록이 최대 10분이 걸릴 수 있다는 것이다. 기존 블록체인은 왜 느린가? 블록체인은 제 아무리 사용자가 많아져도 속도가 빨라지지는 않는다. 블록체인 네트워크를 구성하는 노드는 100개의 일이 들어오면 100개의 일을 분산하는게 아니라 다 일을 처리한다. 비트코인이나 이더리움은 많은 양.......

Naver Blog

오랜만에 쓰는 일상블로그 나도 인간이다.... 두렵다

가끔 쓰는 일상 블로그 글이다. 이곳에는 내가 쓰는 글이지만 간혹 생각을 한다. 나도 모르는 부분이 많고 해나가야 할 것이 산더미다. 언제 내가 뒤쳐지거나 못하는 것이 두렵다. 항상 우물 안의 개구리에서 우물 속에 진흙탕만 만드는 것 같다. 나도 우물 밖을 나가서.... 할 수 있을까? 아래 글이 나의 두근거림의 시작이다. 아래 글은 현재 지금도 듣고 있는 나의 글이다 그런데 지금 문득 드는 생각은 여기서 아무리 노력을 하고 개발을 하는 것이 내가 취업을 할 때 표현이나 보여줄 수 있을까? 나도 누군가에게 도움을 받고 누군가에게 배움을 받고 노력을 하는 사람이다. 나도 다 알지를 못한다. 많이 겪어보는 것이다. 내가 좋아하는 글.......

Naver Blog

Klaytn 블록체인 이해하기

합의(Consensus) 알고리즘 중 어떤 것을 사용할까? Public 블록체인은 PoW(작업증명), PoS(지분증명) 등이 해당된다. Private 블록체인은 pBFT, Raft 등이 있다. BFT(비잔티움 결함 허용) BFT는 참여 노드 수를 제한하여 성능을 높일 수 있다. 하지만 합의 노드 수를 제한하면서 분산화 약화가 되며 투명성은 저하되서 블록체인의 혜택을 의미있게 사용하지 못한다. IBFT(이스탄불 비잔티움 결함 허용) 반면에 클레이튼은 BFT의 단점을 해결하여 합의알고리즘 IBFT(이스탄불 비잔티움 결함 허용)을 사용한다. 투명성을 유지하면서 엔터프라이즈 급 성능 및 안정성인 퍼블릭 블록체인을지향하면서 공개를 통한 합의 신뢰 모델을 사용한다. - 합의.......

Naver Blog

C++ 미니게임 - 빙고게임 퍼즐게임 카드 짝맞추기 게임 만들기

Naver Blog

C++ 단일 리스트 (링크드리스트)

링크드리스트 중 단일 리스트를 함수로 만들지 말고 구조를 만들기만 해보자. 이런식으로 헤드 쪽에 데이터가 추가될 코드로 짤 것이다. 설명은 주석으로 적어놨다. 결과

Naver Blog

Klaytn 블록체인 암호화, 상태, 트랜잭션

블록체인과 공개키 암호 - 블록체인은 암호화적 기법을 토대로 만들어진 기술이다 - Bitcoin은 네트워크 참여자 모두가 같은 '원장'을 공유함으로써 투명한 거래가 가능하다 - 원장은 어느 주소에 BTC가 있는지 기록하지만 그 주소가 누구에게 속하는지 기록하지는 않는다 - Bitcoin은 공개키암호를 사용하여 명시적인 비밀교환과정 없이 BTC의 소유권 증명을 실행한다 위를 보면 주소와 Balance가 있다. 여기서 누가 누구인지는 모른다. 그래서 전자서명을 사용하게 된다. 그래야 누가 누구에게 데이터를 보내는지 알 수 있다. 공개키암호화를 사용한 소유권 증명 - 대부분의 블록체인 주소는 공개키로부터 도출된 값이다 Bitcoin : H.......

Naver Blog

C++ 변수

변수란? 변수란 데이터를 저장하기 위해 프로그램에 의해 할당받은 메모리 공간을 말한다 정수형 변수와 실수형 변수 등으로 구분할 수 있다. 정수형 : int, short, long, long long 문자형 : char 논리형 : bool 부동소수점 : float, double, long double unsinged int 가 있는데 0 이상의 값만 나타내고 음의 방향은 없다. 즉, 마이너스가 없다는 것이다. 위는 현재 속성값의 바이트 크기이다. 한번 확인하는 정도로 보면 좋다. 우선적으로 해당 선언을 뭘로 할지 타입을 정해야한다. int로 할지 float할 지 다른 것을 할지를 선택한다. 그리고 담을 변수를 지정한다. 즉 데이터를 담을 그릇을 정해야하는 것이다. 여기서 변수의 역할은 기본적.......

Naver Blog

C++ namespace

네임스페이스 변수, 함수, 구조체, 클래스 등을 서로 구분하기 위해서 이름으로 사용되는 다양한 내부 식별자를 가지고 있다. 프로그램이 복잡해지거나 여러 라이브러리가 포함될수록 충돌 할 수 있다. namespace로 하고 이름을 지정해준다. 사용법은 이름을 부르고 :: 가져와서 안에 정의한 함수를 가져온다. 그럼 민기의함수!라고 잘나온다. 네임스페이스 안에 네임스페이스를 또 지정이 가능하다. 사용법은 네임스페이스를 부르고 그안의 네임스페이스를 부르면 되는 간단구조다.

Naver Blog

C++ 함수

함수는 간단한 방식으로 우선 해보자. 위와 같이 Print라는 함수를 만들었다. 단순 문장을 출력하기위한 함수다. 우선 int main() { } 위에 정의를 하는 방법이 있다. 위와 같이 한다면 프린트 함수가 잘나오는 것을 볼 수 있다. 이번에는 정의를 아래에서 해보자. 위는 // 1을 선언을 하는 것이고 // 2에 정의를 하는 것이다. 이 방법을 많이 사용하니 잘 기억하자. 이번에는 함수 오버로딩을 한번 보자. 물론 이 방법은 함수이름은 같지만 인자로 받는 값이 다르다. 즉 들어오는 개수가 다른 것이다. // 1은 인자로 2개를 받으면 실행하는 함수고 //2는 인자로 3개를 받으면 실행하는 함수다. 지금은 함수를 간단하게 사용하는 법을 알아봤다. .......

Naver Blog

C++ enum 열거체

enum 열거체는 열거체를 비교할 때 실제 값 뿐만 아니라 타입까지도 체크한다 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없다 새로운 데이터형 이름으로 각 정수 값이 들어간다. 한마디로 기호 상수를 만드는 것이다. 아래를 한번 보자. 위는 간단한 열거체 방식이다. 우선적으로 // 1에 선언을 한다. 해당 값이 RED부터 0으로 인식을 한다. 즉 0 을 입력하면 RED가 해당된다. 그것을 활용해 // 2 에 스위치문을 이용해 해당기능을 이용할 수 있는 것이다. 위는 번호를 입력하면 색깔 단어를 출력하는 형태다. 조금 이해하기가 어렵다면 다음 예시를 보자. spectrum이라는 enum을 만들었다. 그러면 저 단어들은 해당 값들을 나타낸.......

1 2 3 4 5