바쁘신분을 위한 3줄정리
1. 렛저 나노 지갑 사용 중 렛저사의 서비스가 중지되어 코인 전송이 불가능할때 개인 노드를 이용해서 비트코인과 이더 전송하는법.
2. 비트코인 : 일렉트룸 오픈소스 지갑 설치후 하드웨어 웰럿 연결, 이후 네트워크에서 비트코인 개인노드 연결.
3. 이더리움 : 크롬에 메타마스크 설치후 하드웨어 웰렛 연결후 ㅡ 설정 네트워크에서 이더리움 개인 노드 연결.
--------------------------------------------------------------------------------------------------------------------------------------------------------
4년전 국내 하드웨어 지갑이란걸 처음 봤을때 들었던 생각은 아. 이회사 망하면 지갑서비스도 죽겠는데? 였습니다.
공개된 자료도 없고 지갑 초기화도 본사를 통해서 해야하고 (이 부분은 지금와서 생각해보면 개인지갑을 처음 쓰는 사람들이 백업없이 초기화하고 자산 날리는 일이 반복되니 궁여지책으로 막아둔거 같기도 합니다. ) 전용앱만 지원하고 타 서비스와 연동은 안되는거 같고. 등등
그러다가 렛저 나노s를 구입해서 사용했었습니다. 그때 렛저를 선택한 이유는 사용자가 많고 서드파티와의 연동성이 좋은거 같아서 였습니다.
지갑자체는 신뢰할만하다고 가정하고 본사의 서비스가 동작하지 않을때 어떻게 대처해야 하는가 처음 에 잠깐 고민만 하다 그냥 코인을 보관만 하고 시간이 꽤 흘러갔습니다.
이후 비트코인 노드도 운영하고 이더리움 노드도 운영하면서 해당 개인 노드들과 연계해서 렛저 전용앱의 도움없이 트랜젝션을 실행할수 있게 되었습니다.
1. 비트코인.
A. 렛저 전용앱 + 비트코인 RPC 노드
렛저사의 PC용 전용앱인 렛저 라이브의 경우 언젠가 부터 설정 - 실험적 특징 항목에 가면 자신의 비트코인 노드를 연결하는 기능이 아래와 같이 탑재되어 있습니다.
위 방법을 사용하면 내 트렌젝션이 외부 노드의 서비스 문제로 실행되지 않는것 등을 방지할수 있습니다만 렛저 라이브 앱 자체가 렛저 본사서비스에 종속되어 있어 완전한 해결책은 아니라고 생각하고 있었습니다.
즉 렛저라이브에 종속된 기본 비트코인 노드 서비스가 먹통일때 내 노드를 이용해 즉시 전송이 가능한 보조 서비스 정도..
B. Electrum
Electrum은 이름만 보면 전 이더 지갑 처럼 느껴지던데. 2011년에 나온 비트코인 전용 지갑 소프트웨어입니다.
비트코인 코어 지갑과 달리 체인데이터를 직접 저장하지 않아 간단히 설치할수 있는데
이 지갑은 하드웨어 웰렛을 연결하여 사용할수 있고 블록체인 데이터를 외부 노드에 의존하기 때문에 당연하게 노드 연결을 해야 하는데 이 설정을 통해 내 자신의 비트코인 노드에 연결할 수 있습니다.
UI가 아주 올드합니다.
Tool 메뉴의 네트워크에 가서 서버 항목에 내 비트코인 RPC 노드 데이터를 적어주면 됩니다.
예전에는 비트코인 코어 노드를 운영했었는데 얼마전부터 Umbrel을 돌리고 있고. 해당 패키지는 비트코인 코어 노드를 포함하고 있지만 일반네트워크가 아닌 Tor 네트워크에서 운영되기에 onion 주소로 연결됩니다.
지갑이 설치된 PC의 네트워크를 Tor 네트워크로 연결을 해주는 Tor "Windows Expert Bundle" 이 필요합니다.
https://www.torproject.org/download/tor/
위의 지갑 화면을 보면 오른쪽 하단에 빨간색 동그라미가 있는데 이게 노드 연결이 되지 않았다는 뜻입니다.
아래처럼 Tor를 실행하면 tor 네트워크에 접속되면서 접속이 완료되면 파란색으로 바뀌면서 사용가능하게 됩니다.
실제 Umbrel 메뉴에 보면 다양한 외부지갑에 노드를 연결하는 방법이 나와 있습니다.
이런 여러 지갑중 Electrum은 하드웨어 월렛인 렛저를 지원하는 지갑인거죠.
2. 이더리움
이더리움은 노드운영에 많은 리소스가 필요해 많은 상용업체들도 infura 서비스에 종속? 되어 있습니다.
국내 거래소의 이더리움 입출금은 인퓨라 서비스가 맛이 가거나 정비중에는 같이 서비스가 죽어버립니다. ^^;
메타마스크도 기본 이더 네트워크를 인퓨라로 사용중이더군요.
이더리움 개인 노드 연결 서비스도 렛저 라이브에 탑재되면 좋겠다 싶었는데 기미가 안 보이더라구요.
그러다가 보안성 문제로 쳐다보지도 않던 메타마스크를 업비트 덕분에 설치하고 보니 하드웨어 웰렛 연결이 가능하더라구요. --;
그리고 ERC20 체인을 위한 네트워크도 지원하는걸 보고 앗.. 노드 연결이 되겠다 싶어 테스트 해보았습니다.
전 이더리움 노드로 GETH를 사용하는데 실행 명령어에 아래 내용을 추가해 주면 됩니다. ( --rpc 명령어는 --http로 대체)
geth 뒤쪽으로 추가.. --http --
노드와 지갑이 같은 장치가 아닌경우 --http.addr=0.0.0.0추가
기존에 돌던 GETH에 위 명령어 추가하고 아래처럼 네트워크 추가하고 연결하니 지갑 잔액 조회도 정상이고 잘 됩니다.
이더리움 GETH 노드 설치법
0. 공유기 사용시 30303 포트 TCP 포트포워딩 설정
1. 우분투 기준. 이더리움 설치
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
2. 서비스 유저 생성
cd ~
sudo adduser --home /home/eth2/eth1 --disabled-password --gecos 'Go Ethereum Client' geth
sudo chown -R geth:geth /home/eth2/eth1
sudo -u geth chmod -R 700 /home/eth2/eth1
3. 서비스 데몬설정
sudo nano /etc/systemd/system/geth.service
이하 내용
----------------------------------------------------------
[Unit]
Description=Geth-Main
After=network-online.target
[Service]
Type=simple
User=geth
ExecStart=geth --http --datadir=/home/eth2/eth1 --metrics --pprof --cache=2048 --syncmode full
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
---------------------------------------------------------------
or
[Unit]
Description=Geth-Main
After=network-online.target
[Service]
Type=simple
User=geth
ExecStart=geth --http --datadir=/home/eth2/eth1 --metrics --pprof --cache=5000
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
4. 서비스 실행
sudo systemctl daemon-reload
sudo systemctl start geth
sudo systemctl status geth - 서비스 실행 확인
sudo systemctl enable geth - 부팅시 자동실행
5. 로그확인
sudo journalctl -f -u geth.service
참조 :
https://cafe.naver.com/eth2staking
이더리움 노드는 현재 GETH 풀노드 기준 약 1.5TB이며 반드시 SSD 설치. 및 램 16기가 이상 권장.
전 노드 2개씩 운영중인데 하드웨어 스펙은 아래와 같습니다.
1. Odroid H2 + 16GB RAM + 1T NVME ( Geth snap node ) + 1TB HDD ( Umbrel ) 설치 운영중
2. TS-140 + 16GB RAM + 2T SSD ( Geth full node ) + 1TB HDD ( Umbrel ) 설치 운영중
pokt 서비스를 활용하는 방법인데요. 아래 링크보시면 쉽게 따라하실 수 있습니다.
https://docs.pokt.network/home/resources/public-rpc-endpoints
좋은글 감사합니다
STM 개발보드로 에어갭 지갑도 만들수 있네요. @.@ 호기심을 자극합니다. ㅎ
연결 방법은 요기 자세히 나와 있습죠 ㅎㅎ 저도 '렛져 회사가 망하면 어쩌나...?'하는 고민을 했었는데 이걸로 조금이나마 안심하게 되었습니다. 대신 비트코인 외에 다른 코인들은 지원을 안 하는지라 그에 대한 대비가 필요하긴 합니다.
직접 지갑을 만드는 것까지는...아직 엄두가 안 나네요 ㅋㅋㅋ
니모닉 시드 혹은 private key 혹은 keystore file을 가지고 있으면, 특정 지갑 서비스가 중단되더라도 다른 지갑에 복구해서 사용할 수 있지 않나요? 최악의 경우, bitcoin-core 혹은 geth를 CLI 지갑으로 사용 가능할 것 같네요.