Posts tagged howto
HOWTO export private key from bitcoin-qt
2I’ve been struggling with exporting my private key from bitcoin-qt a little bit, so now when I successfully done it, I’m going to describe those steps here. I had old wallet.dat and switched to Electrum wallet, but after MININGCO.ETF closure I received some funds into my old wallet, so there was need to get them out. First I was trying to use PyWallet, but without any success. So I did it with CLI access to bitcoin-qt wallet. Here we go:
- Download and unpack bitcoin-qt wallet,
- move wallet.dat to ~/.bitcoin directory,
- create bitcoin.conf in ~/.bitcoin directory and define rpcuser= and rpcpassword= in it,
- run ‚bitcoind -server‘ in terminal,
- unlock the wallet for 60 seconds like ‚read -s wp; ./bitcoin-cli walletpassphrase „$wp“ 60; unset wp‘,
- and finally dump private key ‚./bitcoin-cli dumpprivkey 1MyBitcoinAddress‘, which is written directly to terminal,
- lock the wallet ‚./bitcoin-cli walletlock‘.
Now it’s possible to copy private key and import it into Electrum or another wallet software (or give it to someone :)).
Howto clear defaults to get Fake Camera running again
43Quick note: please use Google plus community for asking a questions.
I like to read reviews of my applications on Google Play, especially those with suggestions and questions :). Last few days I’m getting more and more questions like this one for Fake Camera
Won’t open on kik When I tried to send a pic as a live pic from the gallery it took me to the regular camera and didn’t give me the option to choose the app or the regular camera.
or this one
Fake Camera does not work for me, you sucks!
So because of that I’m going to write a step by step how to clear defaults and let camera picker appear again, because that is the main reason of those problems. We’ll start quickly, I just want to say following at the beginning: If this work for you, don’t forget to change your rating and review on Google Play!!!!
If you accidentally selected „Use as default“ checkbox in Camera picker, it’s possible to revert this, Just follow these steps:
And now comes the tricky part: in application list select that app, which opens automatically instead of camera picker, in my case it’s standard Camera app:
And we are done for now, camera picker dialog should appear instead of default selected application. Please note that this has nothing to do with inapp camera some applications may use – that’s impossible to fake.
One more time – if your Fake Camera works again, don’t forget to change your rating and review on Google Play, thank you! And, of course, if you’d like to say thanks for Fake Camera, just buy a Donate Version, or send me some bitcoins or so. Thank you!
Howto access recent query suggestions on Android and populate ListView with them
0I’m working on search activity for Beermapa and because I did not find any topic covering reading access to SearchRecentSuggestions and I needed to load saved suggestions and fill a ListView with them, so I did some research and wrote this post.
What I want to achieve is an input for writing search query, which displays custom suggestions (based on searching query) and also ListView placed right under input box, which displays recent search queries.
My first try was with EditText and TextWatcher, which after each written character filtered my listAdapter backing ListView, something like this:
searchEditText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {} public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) { adapter.getFilter().filter(s); } });
But since Android has pretty good Search Interface, I was wondering how to use it with my search (because of possible future use of voice search etc.). Adding recent query suggestion is described in tutorial, also custom suggestion is. But there is nothing about how to access saved queries another way then in SearchView whispering box. Saving is really easy:
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(getApplicationContext(), MySuggestionProvider.AUTHORITY, MySuggestionProvider.MODE); suggestions.saveRecentQuery(query, null);
First solution which came on my mind was to implement own saveRecentQuery routine, which saves last queries to local database, but that’s not the way – why to write already written code again?
Finally – there is possibility to access those saved queries through ContentResolver, which returns Cursor:
ContentResolver contentResolver = getApplicationContext().getContentResolver(); String contentUri = "content://" + MySuggestionProvider.AUTHORITY + '/' + SearchManager.SUGGEST_URI_PATH_QUERY; Uri uri = Uri.parse(uriStr); Cursor cursor = contentResolver.query(uri, null, null, new String[] { query }, null);
Where query is String representing searching query, or null for returning all records. Now with received cursor it’s simple to populate ListView:
cursor.moveToFirst(); String[] columns = new String[] { SearchManager.SUGGEST_COLUMN_TEXT_1 }; int[] views = new int[] { R.id.name }; ListAdapter listAdapter = new SimpleCursorAdapter(this, R.layout.component_pub_row, cursor, columns, views, 0); listView.setAdapter(listAdapter);
Note that last parameter in SimpleCursorAdapter – it’s there because of deprecation of constructor with FLAG_AUTO_REQUERY, for more details see this Stack Overflow topic.
Vanitygen a import adresy do Bitcoin-QT na MacOS
8Dlouho jsem nic nenapsal a protože jsem si právě vygeneroval novou krásnou (1SHM12iG4KPRs54CxjLsCwbvnMJp4bMh5) Bitcoinovou adresu (jo, mohlo to být lepší, ale není na to výkon) na Mackovi za pomocí Vanitygenu, poznamenám si tu postup.
Zdrojáky Vanitygenu je možné stáhnout z GitHubu, kde by měl být i Makefile pro Macka. Problém je v tom, že Macek má staré verze OpenSSL knihoven (na mém 10.7.5 je OpenSSL 0.9.8x 10 May 2012), takže je nutné použít ty z Homebrew. No a protože není dobrý nápad natvrdo zadávat cestu ke knihovnám a po změně kompilovat znovu, proč si pohodlně netapnout repozitář s Vanitigenem rovnou? Takže i s instalací OpenSSL a Vanitigenu následovně:
bash-3.2$ brew install openssl && brew tap WyseNynja/bitcoin && brew install vanitygen
Teď už je možné si nechat vygenerovat adresu a privátní klíč:
bash-3.2$vanitygen 1SHM1
Závěrečným krokem je import privátního klíče do peněženky – používám Bitcoin-QT 0.8.2. Takový nástřel je na bitcoin wiki, kterou doporučuju před akcí projít. Akce samotná sestává z následujících kroků:
- spuštění Bitcoin-QT v režimu serveru (kdy naslouchá RPC na portu 8332),
- odemknutí peněženky na dobu nezbytně nutnou k provedení importu,
- provedení importu soukromého klíče,
- …,
- profit.
Aby bylo možné spustit Bitcoin-QT v režimu serveru, je nutné nastavit heslo pro uživatele rpcuser. Provede se to přidáním dvou řádků do konfiguračního souboru ~/Library/Application Support/Bitcoin/bitcoin.conf.
rpcuser=bitcoinrpc rpcpassword=***************
Bitcoin-QT je nutné spustit v režimu serveru – provede se tak v konzoli pomocí příkazu
bash-3.2$ open Bitcoin-Qt.app --args -server
Jakmile naběhne, je možné posílat příkazy na port 8332 – např. pomocí curl. Protože se však takto budou zapisovat hesla a privátní klíče přímo do konzole, je vhodné zapisované příkazy potlačit v historii – před příkaz se do konzole přidá mezera. Sled příkazů je následující:
bash-3.2$ curl --user bitcoinrpc --data-binary '{"method": "walletpassphrase", "params": ["heslo_do_penezenky", 120] }' http://127.0.0.1:8332/ Enter host password for user 'bitcoinrpc': {"result":null,"error":null,"id":null} bash-3.2$ curl --user bitcoinrpc --data-binary '{"method": "importprivkey", "params": ["5_privatni_klic_pr_nove_vytvorenou_adresu_pomoci_vanitigenu", "popisek adresy"] }' http://127.0.0.1:8332/ Enter host password for user 'bitcoinrpc': {"result":null,"error":null,"id":null}
První příkaz odemkne peněženku na 120s, což by mělo pro provedení druhého příkazu postačovat – stačí jen jeho iniciace, rescan blockchainu může probíhat až po opětovném (automatickém) locknutí.
V tento okamžik (až doběhne import) se nová adresa objeví v adresáři, ne mezi adresami pro příjem. Tomu napomůže ukončení Bitcoin-QT a opětovné spuštění, tentokrát už jako „obyčejné“ aplikace.
Custom ROM a Samsung Galaxy S2
0Už je to rok a půl, co jsem majitelem v nadpise uvedené hračky. Mimo úvodních pár měsíců, kdy jsem byl nadšen rychlostí systému (v porovnání s G1), jsem na telefon permanentně nadával a v poslední době to gradovalo do takových extrémů (touha rozmlátit telefon, komunitu i google), že jsem se konečně přinutil věnovat odpoledne nahrání Custom ROMky, zprovoznění ROOTa a image s recovery. A protože jsem ne všechny potřebné informace a nástroje našel na jednom místě a navíc se potýkal s drobnými problémy, přijde mi vhod udělat tímto postem takový malý rozcestník.
Když jsem svého času přehrával systém v G1 (CyanogenMod a později SuperD), byly všechny kroky popsány pěkně pod sebou přímo na stránkách s danou ROMkou, u Toshiby se daly rozumně dohledat po fórech. Co se však týká SG2, našel jsem víceméně kulové. Všechny návody (oficiální) počítají s tím, že už požívám nějakou jinou ROMku a přestože někdy úvod a nadpis vypadá, že bude dále řeč o vanilla Samsung paskvilu androidu, nebylo tomu tak. Mimo jiné se tyto návody specializují spíše na Windows, já však potřeboval update provést z Macka (a obecně by to mělo fungovat i pro GNU Linux).
Pokusím se tyto kroky sepsat níže, spolu se zdrojem, odkud jsem čerpal. Uváděná čísla verzí (pokud je uvedu) se samozřejmě časem změní, takže v mnoha případech zůstanu pouze u uvedení názvu daného nástroje a strýček google jistě poradí. Ještě bych na úvod poznamenal, že nenesu žádné riziko, pokud si někdo následujícím postupem s telefonem něco provede.
1. Instalace obrazu zavaděče – postupoval jsem podle howto ve wiki Cyanogen modu, který mě nasměroval na Heimdal Suite, což je multiplatformní nástroj pro flashování obrazů do Samsung Galaxy S zařízení, jak tvrdí oficiální FAQ. Z výše uvedené wiki jsem se dostal i ke ClockworkMod Recovery. Heimdal jsem stáhnul ve formě instalačního balíčku a hned tady jsem měl první problém – instalátor umně skryl okno s informací o potřebě restartu pod všechna okna a já se chvíli trápil s tím, proč se mi nedaří aplikace použít. Po restartu však vše šlo jako po másle a bylo možné nahrát image do zařízení (nejprve nutno zapnout USB debugging a nastartovat telefon do „download režimu“ pomocí trojhmatu volume down, home a power):
sudo heimdall flash --kernel zImage
2. Povolení superuživatele – spočívající v nahrání binárky su a aplikace Superuser. Na tuto aplikaci mě odkázal miculog, kterého jsem se ale zase tak moc nedržel a ze stránek stáhl zip archivy, které jsem nahrál na kartu, nabootoval do recovery (tentokrát volume up, home a power) a odtud je pomocí „Install zip from sdcard“ nainstaloval.
3. Provedení zálohy – stále v recovery režimu je možné provést zálohu systémových oddílů v nabídce „backup and restore“.
4. Stažení vlastního obrazu s ROM – a následné nahrání na kartu (nebo interní úložiště) v telefonu. Já se rozhodl pro MIUI ROM, takže jsem stahoval nejnovější build a snažil se postupovat podle oficiálního návodu. Bohužel jsem v rámci minulého kroku zároveň začal mazat i cache, data a další místa, takže mi telefon odmítl nabootovat a nemohl jsem tak do něj nahrát zip soubor s updatem. Po chvíli googlení jsem problém vyřešil a pomocí adb z Android SDK namountoval „ramdisk“ jako externi úložiště (telefon v recovery režimu) a nahrál tam požadovaný image:
shmoula $ adb shell # mount -t tmpfs none /sdcard # exit shmoula $ adb push miuiandroid_GT-I9100_ics-2.11.23.zip /sdcard/ . . . . .
5. Instalace custom ROM – po předchozím vymazání „wipe data/factory reset“, „wipe cache partition“, „advanced – Wipe Dalvik Cache“ a konečně „Mounts and Storage – Format/System“ následuje opět „Install zip from SD card“ a výběr v předchozím kroku nahraného zazipovaného image. Po chvíli akce a napětí následuje restart telefonu pomocí výběru „restart system now“ a s největší pravděpodobností naběhnutí nového systému (a drobné rozčarování z jiného rozložení a následujícího kroku).
6. Instalace Google aplikací – protože nesmějí být bundlovány s custom ROMkama. MIUI už však části těchto aplikací obsahuje, navíc má vlastní market a další drobnosti, takže je nutné tyto služby nejprve povypínat, jak radí začátek tohoto vlákna.
shmoula $ adb shell # mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system # mv /system/app/NetworkLocation.apk /system/app/MiuiNetworkLocation.bak # pm disable com.miui.cloudservice # pm disable com.xiaomi.xmsf # exit
Teď už je možné stáhnout balíček s google apps a nahrát jej na kartu v telefonu. Instaluje se opět jako update v recovery režimu volbou „Install zip from SD card“.
7. Aktivování Mass usb režimu – od jisté verze tydlidrojdu není povolen USB Mass storage režim, takže je nutné jej aktivovat ručně:
shmoula $ adb shell # setprop persist.sys.usb.config mass_storage
8. Závěrečný restart telefonu a přihlášení se ke svému google účtu a následný komentář s pochvalou pod tímto návodem.