비트코인 소스 기반의 알트코인 만들기 - 1 이전 포스팅에서 이더리움 기반의 ERC20 토큰을 만드는 방법에 대해서 알아보았습니다. 가장 간단한 방법으로 ERC20 토큰을 생성할수 있지만, 이번에는 비트코인 소스를 변경하여 채굴이 가능한 알트코인을 만드는 방법에 대해서 알아보겠습니다. 소스기반으로 생성이 되기 때문에 만들고자 하는 코인의 설정값이나 알고리즘등을 변경하여 자신만의 최적화된 코인을 생성할수 있습니다. 기반이 되는 소스는 라이트코인이며, 라이트코인 자체가 비트코인 소스를 기반으로 수정되어 만들어진 알트코인이며, 현재 많은 알트코인은 이처럼 라이트코인을 기반으로 변경하여 만들어지고 있습니다. 먼저 라이트코인 소스를 빌드하기 위한 다음과 같이 빌드환경을 구축하고 라이트코인 소스를 가져옵니다. // System updatesudo apt-ge.. 블록체인/암호화폐 7년 전
이더리움 기반의 ERC20 토큰 만들기 이더리움의 스마트 컨트랙트를 이용하여 ICO에 사용할수 있는 ERC20 토큰을 생성해보도록 하겠습니다.블록체인의 코인을 만들수 있는 방법은 크게 다음과 같이 나누어볼수 있습니다. 1. ERC20 표준을 만족하는 코드를 작성하여 작성 - 가장 기본적인 작성방법으로 정의된 규약에 맞게 제작하는 방법입니다. 하지만 해당 규약을 명확하게 이해를 해야하고, 충분한 검증이 선행되어야 한다는 문제가 있을수 있습니다. ERC20 표준에 대해서는 하기 페이지를 참고하시기 바랍니다. https://www.ethereum.org/token https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md https://theethereum.wiki/w/index.php/ERC20_T.. 이더리움/DApp 프로그래밍 7년 전
Remix IDE를 이용한 Solidity 프로그래밍 이전에 작성한 SimpleStorate 스마트컨트랙트를 이번에는 Remix IDE를 활용하여 작성하도록 하겠습니다.Remix IDE는 온라인과 오프라인 2가지 방법으로 활용가능합니다. 먼저 오프라인에서 사용하기를 원한다면 다음 사이트에서 설치가이드를 참고로 설치하시기 바랍니다. https://github.com/ethereum/remix-ide 온라인에서 사용하기를 원한다면 다음 사이트에 접속하여 사용가능합니다. https://remix.ethereum.org 위의 IDE에 접속한후에 먼저 왼쪽의 + 아이콘을 선택하여 작성할 sol 화일명을 지정해줍니다. (이전에 작성한것고 동일하게 SimpleStorate.sol) 그리고 오른쪽 Compile tab에서 "Start compile"을 선택하면 작성한 코.. 이더리움/DApp 프로그래밍 7년 전
첫번째 스마트 컨트랙트 작성하기 화폐기능이 중심인 비트코인에 비해서 이더리움은 프로그래밍에 의한 스마트계약 작성의 차별점이 있습니다.스크립트 기반의 아주 제한적인 프로그래밍이 가능했던 비트코인에 비해 이더리움의 스마트 계약은 Solidity 언어를 사용하여 Turing complete 형태의 완전한 프로그래밍이 가능합니다. Solidity는 홈페이지에서 다음과 같이 정의되어 있습니다. "Solidity is a contract-oriented, high-level language for implementing smart contracts" 즉, Solidity 언어는 스마트계약을 구현하기 위한 계약지향의 하이레벨 프로그래밍 언어로 위에서 언급한것처럼 "Turing complete" 하기 때문에 비트코인과 같이 제한적이지 않고 생각할수 .. 이더리움/DApp 프로그래밍 7년 전
Libbitcoin 라이브러리를 사용하여 Bitcoin testnet에 raw transaction 전송하기 이전 포스트에서 설명한 raw transaction 생성하기의 내용을 기반으로 실제 transaction을 Bitcoin testnet으로 전송해보도록 하겠습니다.본 내용은 하기 Tutorial을 참고로 하였습니다. http://aaronjaramillo.org/libbitcoin-broadcasting-a-transaction-to-the-network 먼저 이전 포스팅에서 설명한것처럼 비트코인 테스트넷에서 지갑을 만들고 연상기호 단어를 사용하여 키와 주소를 복구한후 비트코인을 전송할경우 정상적으로 전송이 되지않습니다. 이 문제에 대해서 위 블로그의 Tutorial을 연재하고 있는 "Aaron Jaramillo"에게 문의를 하였는데 아주 친절히 문제점에 대해서 설명을 해주었습니다. 먼저 현재 Tutor.. 비트코인/Libbitcoin 프로그래밍 7년 전
비트코인의 동작원리에 대한 재미있는 비디오 비트코인의 동작원리에 대해서 짧은 시간에 재미있게 설명한 동영상이 있어서 소개드리고자 합니다.수학관련한 여러 이론을 잘 설명하고 있는 아주 유명한 사이트인데요. http://www.3blue1brown.com 위의 사이트에 수학관련 어려운 주제를 재미있게 소개한 동영상이 많은데, 이중 암호화폐에 대해서 비트코인을 기반으로 설명한 동영상입니다.짧은 시간에 비트코인의 핵심동작원리에 대해서 재미있게 설명하고 있습니다.블록체인 뿐만 아니라 재미있는 다양한 주제가 있으니 한번 보시는것도 좋을것 같습니다. 그리고 추가로 비트코인의 작업증명에 사용되는 SHA256 알고리즘이 얼마나 많은 시간이 소요되는지를 설명한 동영상도 함께 함께 보면 더 재미있을것 같습니다. 블록체인/블록체인 구성요소 7년 전
이더리움 지갑(Mist) 설치하기 이전 포스팅에서 이더리움 클라이언트(geth)를 설치한후 실행시 command line 에서 이더리움 동작을 확인할수 있습니다.하지만 command line에서 동작할경우 사용상 불편하기 때문에 GUI 기반의 지갑인 Mist를 사용하도록 하겠습니다.이더리움 지갑 어플리케이션인 Mist는 다음 페이지에서 다운로드 받아서 설치할수 있습니다.https://www.ethereum.org/사용자 OS 환경에 맞는 설치화일을 다운로드 받아서 설치하면 되며, 하기 내용은 ubuntu 를 기준으로 하도록 하겠습니다. 다운로드 받은 Mist는 이더리움 메인넷을 사용하지 않고 이전 포스팅에서 실행한 private network을 사용하여 동작을 하도록 하겠습니다. 먼저 geth를 하기와 같이 port 번호 3131을 사용.. 이더리움/Ethereum Core 7년 전
이더리움 클라이언트 설치하기 이더리움은 비트코인과 함께 대표적인 암호화페의 한종류로서 Smart Contract가 추가된 2세대 암호화폐입니다.화폐기능이 주가되었던 비트코인에 비해서 프로그래밍 가능한 Smart contract기능이 추가되어 다양한 DApp 개발이 가능합니다.geth는 이더리움의 모든 기능을 사용할수 있는 클라이언트로 설치는 바이너리를 사용하여 설치하는 방법과 소스를 빌드하여 설치하는 방법이 있습니다.https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu 바이너리는 다음과 같이 설치할수 있습니다. $ sudo apt-get install software-properties-common$ sudo add-apt-repositor.. 이더리움/Ethereum Core 7년 전
Libbitcoin 라이브러리를 사용하여 주소의 잔액 확인하기 비트코인 특정주소의 잔액을 확인하는 프로그램을 작성해보도록 하겠습니다. 다음 코드는 하기 Tutorial을 참고로 하고 있습니다.http://aaronjaramillo.org/libbitcoin-checking-an-address-balance 그리고 작성된 코드는 다음의 github에서 다운로드 받을수 있습니다.https://github.com/ihpark92/Libbitcoin_Tutorial/ 먼저 다음과 같이 client.hpp를 include 하도록 하고 Balance.cpp로 저장을 합니다. #include #include #include #include using namespace bc; 그리고 다음과 같이 잔액을 확인하는 함수를 정의합니다.구현부는 이전 포스팅의 비트코인 네트워크의 블록높이.. 비트코인/Libbitcoin 프로그래밍 7년 전
Libbitcoin 라이브러리를 사용하여 비트코인 네트워크에 접속하기 비트코인 네트워크에 접속하기 위해서 Libbitcoin 라이브러리 패키지에서 추가 라이브러리를 설치하도록 하겠습니다.하기 2개의 라이브러리를 추가로 설치하시기 바랍니다. https://github.com/libbitcoin/libbitcoin-protocol.githttps://github.com/libbitcoin/libbitcoin-client.git Libbitcoin 라이브러리는 비트코인 P2P 네트워크에 접속하기 위한 하이레벨 API를 제공합니다.비동기 API를 지원하기 때문에 API를 호출할때에 콜백을 등록해야 합니다. 다음 코드는 하기 Tutorial을 참고로 하고 있습니다.http://aaronjaramillo.org/libbitcoin-connecting-to-the-network 그리고.. 비트코인/Libbitcoin 프로그래밍 7년 전