Thursday, 22 October 2015

managing the game wallet

it has just occurred to me the simple way to manage the game wallet.
(this is the bumba game where coins are regularly deposited into a publicly shared address)
every time the game address is updated, there is no need to keep that address, nor any wallet with that address.
the idea is, you have an address that you constantly send your coins to, and once you are in the game wallet you can send those coins there.
when the address is updated, delete the game wallet.dat and re-open with a fresh wallet. import the new privkey

however if you want to stake, then you will need to keep the wallet with your coins in it open.

REMEMBER all your coins are in these wallets. back them up and keep them safe.

simple version ...
one - generate a personal address
two - send coins to that personal address
three - create a new game wallet

making sure your wallet-qt is stopped.
go to your datadir and rename (or move) the current wallet.dat,
if there are no files called wallet.dat, the wallet-qt will create a brand new file on start up.

start up the wallet-qt, this will generate a brand new key pool which lives in the wallet.dat file,
get a new recieve address. copy this address somewhere handy so you can refer to it in a minute.
optionally dump the private key associated with this address for extra safe keeping.
stop the wallet-qt, go to your data directory.
the new wallet.dat is your new personal wallet. rename it to something obvious (eg wallet.datPERSONAL) and optionally back up externally.
rename the previously backed up wallet.dat and restart. this should now start with your previous transactions.
move all the coins to your new personal address.
shutdown the wallet-qt
rename (or delete) the now defunct wallet.dat
restart the wallet-qt (with another brand newly created wallet.dat file)
import the current game private key.

now whenever the game address is changed, you can now rename (or delete) the current game wallet.dat, create a new one, and import the new private key.
repeat everytime the address updates.

if you want to stake with this process.
whenever you create a brand new wallet, you can import both the game key AND your personal key, then your coins will be available to stake, and the game coins will show as well.

however you will need to use coincontrol to manage sending the game coins as otherwise you may just send your private coins.


note: when you boot off a wallet.dat backup. it can take a few minutes as it needs to scan the blockchain for address history.
an alternative option is to use a similar process of renaming with the entire data directory. you would duplicate the bumbacoin2 folder and then manipulate it's name and the internal wallet.dat.

the shortcomings of this process is an old backup of your data directory will need to sync the blockchain before it can be used.
also depending on the blockchain this folder can be a gigabyte or more each time.

i will dedicate a future post to this process.

Tuesday, 20 October 2015

Cleaning up your wallet-qt when it clogs with transactions.

how to clean yr wallet-qt

you data directory holds a complete copy of the block chain, and your wallet-qt holds every single transaction that has taken place for each address you "own".
these competition addresses have been subject to an awful lot of transactions :D

it can be useful to create a clean slate now and then. to much information can clog your wallet-qt.

the above wallet was becoming very sluggish.

things to know - all your private/public keys are stored in a file called "wallet.dat", this file is in your data directory.

to help manage your addresses, you can have multiple wallets with different addresses. this is done by having multiple wallet.dat files, then you can switch between them as you desire.

here is a picture of my macintosh data directory, in it you can see a wallet.dat and a wallet.datBAK. I swap wallets by renaming the files, it's also possible to keep wallet.dat's elsewhere and move them as you will.

to swap it's necessary to STOP your wallet-qt, before swapping.

DONT FORGET these files hold your access to all your coins. if you break them, you could lose all your coins. so keep backups of either the wallet.dat files, or the privkeys or both.


which leads back to HOW TO CLEAN YOUR WALLET. this is simply done transferring all desired coins to a new empty address.

step 1. generate a new address
step 2. dump private key
step 3. send coins to new address
step 4. quit wallet
step 5. rename wallet.dat to wallet.bak (or whatever)
step 6. restart wallet
step 7. import private key from step 2


step 1. go to receive coins, press New Address button, the above dialog will popup, here you can name the address, then when you press ok it will display a new address.
copy this new address
eg B8QX8peKA9LvDb4Ya5GaMWwwLQoukV2aRY

step 2. go to Help/Debug window/console, type in:
> dumpprivkey B8QX8peKA9LvDb4Ya5GaMWwwLQoukV2aRY

 step 3. go to send coins, send them.
this shot is using Coin Control to help specify which coins. this is not strictly necessary in this scenario but it maybe useful.
to access Coin Control, go to Preferences/Display, tick "Display coin control".

step 4. quit wallet

step 5. rename wallet.dat -> wallet.bak
i am using wallet.datBAK02, you can use whatever you want

in this case there is no actual need to worry about the lack of wallet.dat file as the wallet will create one with new keys on startup.

step 6. restart wallet.

there will now be a new wallet.dat file in your data directory.

you will have no transaction data

step 7. go to debug console, type in:
>importprivkey Pe69Ten35qDWqc5cHbGEZfG5bq9npRtY8WkjXAvfGGaJiUQMFo63 newaddress 
it will hang for a moment. 
above i have named the imported key, that is not necessary, but it maybe useful for neatness.

then when it finishes your new wallet should have all the coins



send your coins to an external site, such as or an exchange (when bumbacoin is on one)

step 1. go to an external site, and get a deposit address
step 2. dump private key
step 3. send coins to new address
step 4. quit wallet
step 5. rename wallet.dat to wallet.bak (or whatever)
step 6. restart wallet
step 7. import private key from step 2