SyntaxHighlighter.all();

how to connect from outside internet

외부 인터넷에서 내 로컬에서 동작하는 geth에 접속하는 방법입니다. 

 

[geth 실행]

geth.exe --nodiscover --identity "etherPrivate" --datadir "C:\Program Files\Geth\mydata" --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpccorsdomain "*" --networkid 88 --rpcapi "admin,db,eth,net,web3,debug,miner,shh,txpool,personal" --allow-insecure-unlock console

cmd에서 geth의 위치를 찾아갑니다. 이후 위 명령어를 이용하여 geth를 실행합니다. 

rpcaddr을  0.0.0.0:8545로 설정하여 모든 IP에서 접근할 수 있도록 합니다.

8545 포트는 예시이며, 사용자 환경에서 접속할 수 있는 적절한 포트번호를 부여하면 됩니다.

* geth는 반드시 관리자 권한으로 실행해야 합니다.

 

[geth attach]

geth attach rpc:http://0.0.0.0:8545

다른 터미널 창에서 geth에 접속하는 방법입니다.

마찬가지로 사용자 환경에서 생성한 포트번호를 대입합니다. 

 

geth attach

해당 콘솔에서 miner.start()와 같은 geth 명령어를 원격으로 실행할 수 있습니다.

 

[MetaMask를 통한 Remix 연결]

 

MetaMask에서 사용자 정의 RPC를 선택합니다.

 

새로운 네트워크 설정에서 내 PC의 외부 IP와 geth의 포트번호를 입력합니다.

공유기가 할당한 사설 네트워크 (192.168...)은 별도의 포트 포워딩을 해줘야만 외부에서 접속할 수 있습니다.

 

iptime 공유기는 192.168.0.1로 접속하면 확인할 수 있습니다.

192.168.0.1

 

MetaMask -> 새 네트워크 -> 새로운 RPC URL에 내 PC의 외부 IP주소를 입력합니다.

(아래 URL은 예시입니다)

 

Remix에서 Enviroment를 Web3 Provider로 설정합니다. 

 

 

확인창이 뜨는데 확인을 누르시면 아래 창이 나타납니다.

여기에 내 외부 IP주소와 geth의 포트 주소를 넣어줍니다.

(아래 IP는 예시입니다)

 

 

이제 내 컴퓨터에서 동작 중인 이더리움 사설 네트워크에 외부 인터넷(LTE 등)에서 접속이 가능합니다.

 

[포트 포워딩]

공유기를 사용하는 경우 포트포워딩을 해주어야 외부 접속자가 사설망(공유기 환경) 내부의 내 pc를 찾아올 수 있습니다.

 

iptime의 경우 192.168.0.1에서 설정 가능합니다.

 

포트포워드 메뉴

 

새 규칙을 추가합니다. 외부 포트와 내부 포트를 내 geth 환경과 동일하게 설정합니다.

반드시 적용 버튼을 눌러 세팅을 저장합니다.

 

* 가정에서 사용하는 일부 인터넷 제공사는 포트 포워드를 지원하지 않습니다.

 

설정을 마치면 외부망을 통해 내 로컬에서 동작하는 geth에 접속할 수 있습니다. 

반응형

'블록체인 > DApp' 카테고리의 다른 글

[DApp] authentication needed: password or unlock 해결 방법  (0) 2019.12.07

remix error

이더리움에서 트랜잭션을 보낼 때 발생하는 오류입니다. 

트랜잭션을 보내는 계좌의 권한을 주면 해결할 수 있습니다.

 

[javascript 환경에서 해결 방법]

function unlockAccount() {
	web3.eth.defaultAccount = "<account>";
	web3.personal.unlockAccount("<account>", "<password>", function (error, result) {
		console.log(result); // true & false 
	});
}

function sampleSmartContract () {
	unlockAccount();
    // your smart contract code...
}

[geth 환경에서 해결 방법]

personal.unlockAccount(eth.accounts[0]) // send account.

eth.accounts[0]는 geth에 등록된 첫 번째 계좌를 반환합니다.

트랜잭션을 발생시키는 계좌를 넣으면 됩니다.

 

geth

 

반응형

'블록체인 > DApp' 카테고리의 다른 글

[DApp] geth private network 외부 접속 방법  (0) 2019.12.09

[블록체인] Linux 에서 Electroneum node 설치하기 -1 : https://good-coding.tistory.com/12


이전에 설치했던 Electroneum 을 실행하고 블록을 synchronization 하는 과정과 wallet 실행 후 지갑주소 발행까지 해보도록 하겠습니다.


일렉트로니움을 설치한 폴더에서 build -> release -> bin 폴더로 이동합니다.


1
2
3
4
5
cd build
cd release
cd bin
 
./electroneumd
cs



이후 실행파일인 electroneumd 를 실행합니다.


그러면 daemon 이 실행되며 일렉트로니움 네트워크에 블록들을 동기화하기 시작합니다. 



아래와 같이 블록들을 다운받게 되는데, 대부분의 블록체인이 synchronization 과정을 거쳐야만 노드로서 인정받고 활동할 수 있습니다.


이 과정은 상당히 오래걸리며 블록체인이 해결해야할 과제중 하나라고 생각합니다ㅜㅜ. 저도 테스트용 리눅스로 설치를 했기 때문에 모든 블록을 동기화하


기까지 얼마나 걸리는지는 실험해 보지 못했지만 몇일 ~ 1주일 정도까지 걸리는 것으로 알고 있습니다.


블록체인 네트워크든 사람이든 어디선가 인정받고 살아가려면 험난한 사회화 과정을 거쳐야 한다는 점을 간접적으로나마 느끼는 순간입니다.


이러한 이유로 백그라운드에서 작업을 해주시면 되겠습니다.



* 백그라운드 실행


1
2
3
ctrl + z 
jobs
bg %1 (electroeumd 의 프로세스 번호)
cs

동기화 되는 동안 저희는 일렉트로니움 지갑을 만들어 보겠습니다.

우선 같은 폴더에서 electroneum-wallet-cli 를 실행합니다. 

지갑 이름, 비밀번호, 비밀번호 확인, 언어선택 순으로 진행이 됩니다. 


저는 당연히 1 : English 로 선택을 했습니다. 대부분의 프로그램들에서 한국어도 볼 수 있으면 좋겠어요 ㅜㅜ


해당 과정을 마치면 아래와 같이 지갑 주소를 얻게됩니다.



지갑이 실행된 상태에서 help 명령어를 입력하면 다양한 지갑의 명령어를 볼 수 있습니다.


저는 balance 명령어를 실행해서 현재 잔고를 확인해보겠습니다.



따흑 ㅜㅜ 0원이네요... 당연합니다 아직 동기화도 되지 않았기 때문이요 ㅎㅎ (no daemon 상태)

* 참고로 ETN은 일정 단위의 ETN이 모이면 지급이 된다고 합니다. 즉 unlocked balance 는 당장 사용할 수 없는 자산입니다.


기회가 된다면 직접 리눅스에서 채굴을 하여 자산이 늘어나는 것을 보여드리고 싶지만 ㅎㅎ.. 가난한 제 pc환경에서는 벅차서 아쉽습니다.


다음 포스팅에는 직접 암호화폐를 간단하게 만들어 보는 내용을 다루고자 합니다. 감사합니다.

반응형


이번 포스팅에서는 이전에 소개했던 암호화폐 일렉트로니움을 


실제 리눅스 환경에서 설치 후 구동하는 방법을 소개하겠습니다. 


1. VirtualBox 설정의 권장사양


18-07-05 기준 일렉트로니움의 블록 길이는 약 350,000개 입니다. 


여유있게 50GB 정도 공간을 할당해 주시면 될 것 같습니다. (테스트는 해보지 못했습니다.)


메모리는 4GB, 코어는 3개 정도 할당해 주시면 되겠습니다.



2. 필요한 패키지 다운로드


우선 구동에 필요한 패키지를 다운로드합니다. 


사실 모든 패키지가 필요하지는 않은 것으로 보이나 개발팀이 권장하는 사항이니 만큼 모든 기능을 사용하려면 설치하는것이 좋아보입니다.


아래 사진에 패키지들이 어떤 것인지 설명되어 있으니 파악하시면 되겠습니다.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install git
sudo apt-get install vim
 
sudo apt-get install bulid-essential
sudo apt-get install cmake
sudo apt-get install pkg-config
sudo apt-get install libboost-all-dev
sudo apt-get install libssl-dev
sudo apt-get install libunbound-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libunwind8-dev
sudo apt-get install liblzma-dev
sudo apt-get install libldns-dev
sudo apt-get install libexpat1-dev
sudo apt-get install libgtest-dev
sudo apt-get install doxygen
sudo apt-get install graphviz
cs


설치과정에서 git 과 vi에디터가 필요함으로 함께 설치해 주시면 됩니다 ㅎㅎ


3. 프로젝트 소스 다운로드 및 컴파일

이후 폴더를 만들어 줍니다. 저는 downloads 라고 하였는데 이름은 딱히 상관없습니다.

해당 폴더로 이동하신 뒤, git 주소로 일렉트로니움 소스를 가져옵니다.


1
2
3
4
5
6
mkdir /downloads
cd /downloads
git clone https://github.com/electroneum/electroneum
 
cd /electroneum
make 
cs


위의 명령어를 실행하면 downloads 폴더에 프로젝트 파일이 복사됩니다.

이후 downloads 폴더 안에 electroneum 폴더로 이동하시면 아래와 같이 Makefile 이 있습니다. 


make 해 주시면 25분정도 컴파일이 되는데 make -j<number of threads> 로 스레드를 여러개로 수행하면 

좀 더 빠르게 진행됩니다.  ex) make -j3

* 컴파일이 완료된 모습


4. 오류 해결


컴파일 도중 터미널 창이 멈추고 반응이 없는 경우가 있습니다.

해당 소스를 컴파일 하기 위해서는 ubuntu-64bit 환경에서 테스트 해본 결과 메모리가 4GB 이상으로 여유가 있는 상태어야 합니다.

메모리가 부족한 경우 (VirtualBox 의 기본설정 메모리는 1GB) 설정에서 메모리를 더 할당해 주신 후, 재부팅 해주시면 됩니다.

다른 이슈가 발생할 경우 https://github.com/electroneum/electroneum/issues 에서 찾아보시거나 댓글로 남겨 주세요.

                                         

다음 포스팅에서는 wallet 실행과 메인넷 동기화를 진행하겠습니다.

[블록체인] Linux 에서 Electroneum node 설치하기 -2 : https://good-coding.tistory.com/13


반응형

현재 블록체인을 이용한 다양한 암호화폐들이 존재합니다.


그중 일렉트로니움은 익명성이 강한 모네로를 모체로 하는 블록체인입니다.


사실 모네로도 대쉬와 동일하게 익명성이 짙은 cryptonote 를 기반으로 만들어졌는데, 자세한 내용은 다음에 포스팅해보도록 하겠습니다.


일렉트로니움의 주요 특징


1. 추적이 불가능한 트랜잭션


2. 연결되지 않는 트랜잭션 


3. 분석 방지


4. 평등한 작업증명


5. 모바일 채굴 및 빠른 속도


모바일 지갑, 채굴이 가능하다.


일렉트로니움은 모바일 생태계를 목표료 구현되었으며 21억개의 발행량, 빠른 트랜젝션, 높은 익명성의 특징을 가지고 있으며,


확실히 다른 코인들과 차별점이 존재합니다.


현재 일렉트로니움은 현재 Android, IOS 두 운영체제에서 모두 사용이 가능합니다. 


여기서 주목할 점은 모바일 프로세서를 통한 채굴이 가능하다는 점입니다. 과연 모바일 프로세서가 얼마나 기여할지는 모르겠지만


확실하게 보상을 준다는 것에 초점을 맞추면 되겠습니다.

* 오피셜에 의하면 모바일 채굴은 블록체인 네트워크에 그다지 큰 기여는 하지 못한다고 합니다.


스크린샷 이미지


이렇게 마이닝을 시작하면 백그라운드에서 가동되며 채굴을 합니다. 


기존 GPU 를 이용한 채굴방식에 비하면 상당히 접근성있고 가벼운? 보상시스템이라고 생각합니다. 


많은 사람이 참여할 수록 좋은 블록체인이기 때문에 이 부분은 상당히 강점이 되겠군요.


모바일을 통해 현재 시세로 하루에 약 2~300원 정도의 ETN 채굴이 가능하다고 합니다. 


다만 채굴프로그램을 가동할 경우 휴대폰이 쉬지 않고 일을 하기 때문에 지금 사용하시는 휴대폰 보다는 


사용하지 않는 휴대폰으로 먼저 어느 정도 자원을 소모하는지 테스트할 필요가 있을것 같습니다.



거래소


현재 일렉트로니움 거래량의 약 80%를 차지하는 상위 3개의 거래소 목록입니다. 이외에도 6곳 정도의 거래소에서 거래되고 있습니다.





다음 포스팅에는 일렉트로니움 지갑을 리눅스 환경에서 설치해 보도록 하겠습니다. 


[블록체인] Linux 에서 Electroneum node 설치하기 -1 : https://good-coding.tistory.com/12

                                                                


공식사이트 : https://electroneum.com/

git : https://github.com/electroneum/electroneum



반응형

+ Recent posts