za
import-eksport

Import / eksport adresów portfela

2014-11-28
Techniczne
Konferencja Kryptoraport

 

Przeanalizujmy sposoby dodawania oraz wydobywania kluczy z portfela bitcoin, dzięki którym będziemy w stanie wykorzystywać dowolne, należące do nas, adresy z poziomu różnych aplikacji portfela. W niniejszym tekście skupimy się na trzech najpopularniejszych portfelach: Bitcoin Core, Multibit oraz Mycelium.

 

 


 

 

Bitcoin Core

 

Export klucza

 

Wszystkie komendy wykonywać będziemy w konsoli bitcoin-qt. Owieramy portfel, zakładka Pomoc->Okno debugowania->Konsola.

 

Chcąc użyć adresu z Bitcoin Core w innym portfelu musimy wyeksportować odpowiadający mu klucz prywatny. Najpierw jednak portfel trzeba otworzyć. Dokonujemy tego za pomocą komendy walletpassphrase <passphrase> <timeout> , w przeciwnym wypadku otrzymamy komunikat o błędzie:

 

Error: Please enter the wallet passphrase with walletpassphrase first. (code -13)

 

Przykład:

 

walletpassphrase tojesthasło 120

 

Oznacza to, że przez 120 sekund portfel będzie otwarty i będziemy mogli wykonywać żądane polecenia.

 

Teraz eksportujemy klucz:

 

dumpprivkey ‘adres’

 

Po wykonaniu “ dumpprivkey”  konsola wyświetli nam właściwy dla danego adresu klucz prywatny.

Jeżeli chcemy otrzymać klucz w postaci kodu QR (na przykład, aby móc zaimportować adres do portfela Mycelium) możemy w tym celu skorzystać ze strony bitaddress.org i zakładki wallet details, gdzie, po wklejeniu klucza prywatnego, zostanie wygenerowany dla nas odpowiedni kod graficzny.

 

 

Import Klucza

 

Dodawanie adresu w Bitcoin Core również wykonujemy z poziomu konsoli. Chcąc dodać adres do portfela, musimy dysponować oczywiście odpowiadającym mu kluczem prywatnym.

 

Polecenie w konsoli:

 

importprivkey xxxxx [string ‘nazwa’ bool rescan=true]

 

Po kluczu prywatnym czyli naszym xxxxx, podajemy opcjonalne parametry:

 

  • nazwa konta w portfelu

  • „false” jeżeli nie chcemy, aby Bitcoin Core przeszukiwał łańcucha w poszukiwaniu transakcji związanych z importowanym adresem.

 

Możemy nie chcieć skanowania jeżeli:

 

  • importujemy nowy, nieużywany adres (np. wygenerowany za pomocą Vanity)

  • zamierzamy dokonać importu więcej niż jednego adresu

 

Funkcja skanowania sprawdza wszystkie adresy dostępne w portfelu, zatem jeżeli importujemy więcej adresów skanowanie wystarczy wywołać raz, importując ostatni adres.

 

UWAGA: Importowanie klucza ze skanowaniem może potrwać nawet kilkadziesiąt minut!

 

Jeżeli więc importujemy kilka adresów, będzie to wyglądało tak:

 

importprivkey xxxxx ‘drobne’ false

importprivkey yyyyy ’emerytura’ false

importprivkey zzzzzz ‘studia’

 

Jeżeli importujemy jeden pusty adres:

 

importprivkey xxxxxx ‘osobistyAdres’ false

 

Jeżeli importowany adres nie jest pusty:

 

importprivkey xxxxxx ‘osobistyAdres

 

Jeżeli nasz portfel zabezpieczony jest hasłem, powinniśmy go w pierwszej kolejności na krótki czas odblokować.

 

Operacja dodawania adresu nie jest czasochłonna, a dodawanie kolejnych transakcji podczas skanowania nie wymaga otwarcia portfela.

 

Oto jak będzie wyglądać cała sekwencja:

 

walletpassphrase hasło 60

importprivkey xxxxxx ‘nazwa’

walletlock

 

Otwieramy portfel na 1 minutę, importujemy klucz ze skanowaniem, zamykamy portfel.

 

Jeżeli nie zamkniemy portfela, to po upływie żądanego czasu (tu jedna minuta) zamknie się on automatycznie.

 

 

 

imp-1

 

Podczas skanowania pokaże nam się powyższe okienko

 

UWAGA!: Proces skanowania musi zostać dokończony! Zamknięcie Core poprzez kombinację klawiszy crtl+alt+del może uszkodzić plik portfela! Przed rozpoczęciem tego typu operacji należy ZAWSZE wykonać kopię zapasową portfela!

 

Dane, widoczne w logu podczas procesu skanowania mogą wyglądać następująco:

 

2014-11-24 11:56:04 Still rescanning. At block 76502. Progress=0.001028

2014-11-24 11:57:04 Still rescanning. At block 134904. Progress=0.009074

2014-11-24 11:58:04 Still rescanning. At block 171545. Progress=0.025068

2014-11-24 11:59:04 Still rescanning. At block 192120. Progress=0.053086

(…)

2014-11-24 12:11:04 Still rescanning. At block 311664. Progress=0.641673

2014-11-24 12:12:04 Still rescanning. At block 319256. Progress=0.778676

2014-11-24 12:13:04 Still rescanning. At block 326059. Progress=0.903379

2014-11-24 12:13:56 ResendWalletTransactions()

 

Jak widać, cała operacja może być dosyć czasochłonna (w tym przypadku zajęła ponad 15 minut).

 

Jeżeli importowany adres zawierał jakieś środki, zostaną one dodane do naszego stanu konta.

 


 

Multibit (Classic)

 

Eksport kluczy prywatnych z portfela multibit (classic) jest stosunkowo prosty.

 

Z menu „narzędzia” wybieramy „eksport kluczy prywatnych”

 

imp-2

 

Za pomocą przycisku „Eksportuj do” określamy lokalizację oraz nazwę pliku na dysku.

 

Wyeksportowane klucze możemy zabezpieczyć hasłem. Jeżeli tego nie zrobimy, klucze zostaną zapisane w formie niezaszyfrowanej. Zapis nieszyfrowany będzie nam potrzebny w razie potrzeby dokonania importu kluczy do innego portfela.

 

Jeśli zależy nam jedynie na wykonaniu backup’u kluczy lub zamierzamy importować je do innej kopii Multibita, możemy (a wręcz powinniśmy) zabezpieczyć je hasłem.

 

Po wciśnięciu przycisku „Eksportuj klucze prywatne” klucze zostaną zapisane na dysku w pliku z rozszerzeniem .key, zaś Multibit automatycznie przetestuje zapisany plik, sprawdzając poprawność jego odczytu oraz zawartych w nim kluczy prywatnych.

 

Jeżeli nasz portfel zabezpieczony jest hasłem, zostaniemy poproszeni o jego podanie.

 

Proces importu kluczy do Multibita jest nieco bardziej skomplikowany.

 

Program nie posiada bowiem bezpośredniej opcji importu klucza prywatnego. W tym celu będziemy musieli użyć pliku .key zawierającego nasze klucze prywatne.

 

Tak wygląda przykładowa zawartość tego rodzaju pliku:

 

# KEEP YOUR PRIVATE KEYS SAFE !
# Anyone who can read this file can spend your bitcoin.
#
# Format:
# <Base58 encoded private key>[<whitespace>[<key createdAt>]]
#
# The Base58 encoded private keys are the same format as
# produced by the Satoshi client/ sipa dumpprivkey utility.
#
# Key createdAt is in UTC format as specified by ISO 8601
# e.g: 2011-12-31T16:42:00Z . The century, ‘T’ and ‘Z’ are mandatory
#
L1rbC15ckapmboyKGLkZDMmhEi8weigEPaNsnLNcwPELyPRkHsQG 2014-11-24T13:02:39Z
# End of private keys

 

Wszystkie linijki zaczynające się od # są ignorowane. Wystarczy zatem posłużyć się komendą:

 

privkey rrrr-mm-ddTgg:mm:ssZ

 

Pojedynczy plik może zawierać dowolną ilość kluczy.

 

Data i czas na końcu zapisu oznaczają datę utworzenia (pierwszego użycia) danego adresu.

 

Określamy w ten sposób jak daleko wstecz powinien sięgać realizowany przez portfel proces skanowania w poszukiwaniu transakcji.

 

Jeżeli mamy do czynienia ze „świeżym” adresem, możemy wpisać aktualną datę – w takim przypadku import powinien być natychmiastowy.

 

Jeżeli jednak importujemy adres na którym są już jakieś środki, musimy podać datę wcześniejszą niż pierwsza operacja na adresie – inaczej Multibit może nie zaimportować wszystkich środków z tego adresu.

 

Po stworzeniu pliku i zapisaniu go na dysku wybieramy: „Narzędzia” -> ”Import kluczy prywatnych” i wskazujemy plik do importu.

 

imp-3

 

imp-4

 

Jeżeli jest to zabezpieczony hasłem plik z innej kopii portfela Multibit, zostaniemy poproszeni o jego podanie. W przypadku „czystych” kluczy nie będzie to wymagane.

 


 

Mycelium

 

Importu pojedynczego adresu do portfela Mycelium dokonujemy poprzez wklejenie ze schowka odpowiadającej mu wartości klucza prywatnego lub skan (reprezentującego ten sam klucz) kodu QR.

 

W zakładce „Accounts” wskazujemy na ikonkę kluczyka.

 

imp-5

 

Następnie wybieramy przycisk „Advanced”.

 

Opcja „Add HD Account” służy do importu zestawu adresów z deterministycznej wersji portfela Mycelium (inaczej portfela HD). Import tego rodzaju odbywa się na podstawie wartości bazowej master seed danego portfela. Więcej na temat portfeli deterministycznych odnajdziecie w oddzielnych poradnikach.

 

imp-6

 

W następnym kroku zostaniemy poproszeni od podanie kodu PIN portfela

 

imp-7

 

Jeżeli w pamięci podręcznej (schowku) naszego urządzenia znajdowałby się klucz prywatny, widoczny u dołu szary przycisk byłby aktywny.

 

Przycisk Zeskanuj” daje nam możliwość importu klucza prywatnego adresu za pomocą kodu QR.

 

Ten możemy wygenerować np. z pomocą serwisu bitaddres.org (zakładka: „wallet details”).

 

imp-8

 

Po zeskanowaniu określamy nazwę dla naszego adresu.

 

imp-9

 

Zaimportowany adres (nazwaliśmy go „Bit”) pojawia się jako możliwy do wyboru portfel.

 

imp-10

 


 

Mycelium HD

 

Mycelium w wersji HD nie posiada bezpośredniej możliwości eksportu pojedynczych kluczy prywatnych. Kopii zapasowej podlega tylko i wyłączenie hasło główne („master seed”), na podstawie którego generowane są kolejne adresy w portfelu.

 

Portfel w tej wersji daje nam wyłącznie możliwość eksportu adresów ze „starej” (niedeterministycznej) wersji Mycelium lub też też pojedynczych, wcześniej zaimportowanych adresów (nie wygenerowanych za pomocą portfela HD).

 

W zakładce „Accounts” klikamy adres, który zamierzamy wyeksportować, a następnie wskazujemy na ikonkę opcji.

 

imp-11

 

Wybieramy pozycję „Eksport”.

 

imp-12

 

Wprowadzamy PIN do portfela

 

imp-13

 

Potwierdzamy fakt zaznajomienia się z poniższym komunikatem.

 

imp-14

 

W rezultacie otrzymamy graficzną postać klucza prywatnego, w postaci kodu QR, a także możliwość skopiowania klucza do schowka.

 

Wygenerowany w ten sposób kod QR skanujemy podczas importu na urządzeniem docelowym. Możemy także skorzystać z wartości znajdującej się teraz w pamięci podręcznej naszego urządzenia – przesyłając lub przepisując jej zawartość do innego portfela.

 

 

Portal bitcoin.pl nie ponosi odpowiedzialności z tytułu ewentualnych szkód jakie powstały w wyniku wykorzystania danych zawartych na łamach serwisu.

 

Wszelkie kopiowanie, dystrybucja, elektroniczne przetwarzanie oraz przesyłanie zawartości ze stron bitcoin.pl wymaga uprzedniej zgody portalu.

 

Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi
Autor

Na rynku kryptowalut od 2013 r. Współorganizowałem pierwsze w Polsce konsultacje społeczne w Sejmie dotyczące technologii blockchain, a także Polski Kongres Bitcoin, w ramach którego wystąpił Andreas Antonopoulos. Współpracowałem z posłami na Sejm RP, w celu przygotowania interpelacji na temat takich kwestii jak: kryptowaluty, CBDC czy technologia blockchain. Interesuje się historią, ekonomią, polityką i oczywiście technologią blockchain.

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności