Closed GoogleCodeExporter closed 9 years ago
Original comment by andreas....@gmail.com
on 11 Jul 2011 at 1:37
I have added a direct download to this site.
Other repos will follow if wallet format is stabilized.
Original comment by andreas....@gmail.com
on 11 Jul 2011 at 11:08
cheers! testing now!
Original comment by wheresau...@lavabit.com
on 11 Jul 2011 at 4:09
Original comment by andreas....@gmail.com
on 14 Jul 2011 at 1:20
I'd like to put it up on fdroid if you don't mind. Just to close this ticket.
I'd have found out about your project earlier if it was there.
Original comment by arcusiul...@gmail.com
on 20 Aug 2011 at 11:57
Sure, go ahead. Could you use the version from
http://code.google.com/p/bitcoin-wallet/downloads/list
so the versions on the different markets are all the same?
Original comment by andreas....@gmail.com
on 20 Aug 2011 at 3:10
Awaiting approval:
http://f-droid.org/forums/topic/bitcoin-wallet/
Original comment by arcusiul...@gmail.com
on 21 Aug 2011 at 11:29
Bitcoin Wallet was added to F-Droid 27 Feb 2012 according to the above linked
post. This issue can probably be closed.
Original comment by colind...@gmail.com
on 4 Mar 2012 at 6:36
How will updates be handled? Will f-droid automatically sync new versions from
Android Market?
If someone installs the app from f-droid, will updates via Android Market be
detected on his device?
Original comment by andreas....@gmail.com
on 4 Mar 2012 at 6:58
F-droid builds this app from the source hosted here. The latest build is stuck
on 2.01 for reasons explained in the metadata
https://gitorious.org/f-droid/fdroiddata/blobs/master/metadata/de.schildbach.wal
let.txt . If have proposed that the project include binaries from here if the
situation persists.
Original comment by david8bl...@gmail.com
on 26 Jun 2012 at 12:23
I don't understand this:
> there used to be build data for 1.48.2/66 but the source code
> for this seems to have gone (it was in a maintenance branch)
> when the project went from svn to git.
What is meant by "build data"?
Bitcoin Wallet can by built with Maven 3 or Eclipse. For getting the Eclipse
build to work, you need to have the Action Bar Sherlock project in your
workspace as well.
I would actually prefer if binaries would be the same on f-droid and
http://code.google.com/p/bitcoin-wallet/downloads/list
Because otherwise you need to uninstall the app (and loose your Bitcoins) in
order to switch.
Original comment by andreas....@gmail.com
on 26 Jun 2012 at 1:07
F-droid is now current. There won't be any need to uninstall if it stays that
way
Original comment by david8bl...@gmail.com
on 1 Jul 2012 at 10:29
The build doesn't contain a blockchain though
Original comment by david8bl...@gmail.com
on 1 Jul 2012 at 1:29
I think now that f-droid has Bitcoin Wallet this ticket can be closed and
further work towards getting updates into f-droid should be tracked there.
Original comment by andreas....@gmail.com
on 16 Jul 2012 at 1:39
looks like the f-droid repo is outdated right now
Original comment by andreas.petersson.at
on 2 Aug 2012 at 4:36
Yes the wallet app is well outdated on F-droid.org: apparently is takes a lot
of skill to build and locate the right details for BitcoinJ library. Any help
would be appreciated.
Original comment by david8bl...@gmail.com
on 26 Nov 2012 at 11:43
We should v.2.48 in soon. I'm just looking at how to replace Testnet3 label for
main app. Next version we may switch to ant because that way everything can be
built from source.The tags help a lot. Sorry about the delay.
Original comment by david8bl...@gmail.com
on 3 Apr 2013 at 12:14
@david8black:
I'd focus on the bitcoinj-0.8 branch. This will become master as soon as 3.0 is
released.
For the prodnet version, use branch bitcoinj-0.8-prodnet (or just prodnet if
you really want to bundle v2.48 for now).
How does using ant change anything? Maven is open source and available as a
Debian/Ubuntu package as well.
Original comment by andreas....@gmail.com
on 3 Apr 2013 at 1:04
Seems to be using cherry picks into prodnet branch
Original comment by david8bl...@gmail.com
on 3 Apr 2013 at 1:12
Maven is open source but the libraries that it sources could be from the
developer's own repository and we prefer to only use jars that are
independently built. I've already figured out 2.48 so I might as well publish
it as I'm guessing it won't make much difference to the end user.
Original comment by david8bl...@gmail.com
on 3 Apr 2013 at 1:21
Forgot to mention that we had to build bitcoinj from source anyway as the
artifact couldn't be found in your repository
Original comment by david8bl...@gmail.com
on 3 Apr 2013 at 1:22
You can use Maven in offline mode. That way, it will only pick from your local
repository. 3.0 will make huge difference to the end user, especially to fresh
installs.
Original comment by andreas....@gmail.com
on 3 Apr 2013 at 1:44
Ok we will wait, but I hope it won't be too long.
Original comment by david8bl...@gmail.com
on 3 Apr 2013 at 1:56
The timeline is bitcoinj 0.8 needs to be released. I estimate about 2 weeks but
no guarantees. After that, Bitcoin Wallet 3.0 will enter release candidate.
After a few days without problems, I'll release.
Original comment by andreas....@gmail.com
on 3 Apr 2013 at 2:02
Anyway, 2.48 crashes. This is recipe:
Build Version:2.48,115,41dc87f5ec,maven=yes,bindir=wallet/target,\
srclibs=BitcoinJWallet@release-0.7,prebuild=rm -rf market/ && \
sed -i '57 i \\t<scope>provided</scope>' wallet/pom.xml && \
$$MVN3$$ install -f $$BitcoinJWallet$$/pom.xml && \
$$MVN3$$ install:install-file -DgroupId=com.google -DartifactId=bitcoinj
-Dversion=0.7.3 \
-Dpackaging=jar -Dfile=$$BitcoinJWallet$$/core/target/bitcoinj-0.7.3.jar
--------- beginning of /dev/log/main
D/AudioHardwareMot( 2193): Output bufSize from kernel = 8192
--------- beginning of /dev/log/system
I/ActivityManager( 2535): START {act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=de.schildbach.wallet/.WalletActivity u=0} from pid 8220
D/AudioHardwareMot( 2193): doRouting devs: stereo 0x2, mono 0, input 0. Chose
speaker Speakerphone (gain 0xb) mic None (gain 0x1c1c)
D/AudioHardwareMot( 2193): Output 0x2a009c58 exiting standby
D/dalvikvm(10361): Late-enabling CheckJNI
I/ActivityManager( 2535): Start proc de.schildbach.wallet for activity
de.schildbach.wallet/.WalletActivity: pid=10361 uid=10085 gids={3003, 1015,
1028, 1006}
D/AudioHardwareMot( 2193): Output bufSize from kernel = 8192
D/AudioHardwareMot( 2193): Output bufSize from kernel = 8192
D/AudioHardwareMot( 2193): Output bufSize from kernel = 8192
D/AudioHardwareMot( 2193): Output bufSize from kernel = 8192
I/dalvikvm(10361): Turning on JNI app bug workarounds for target SDK version
11...
D/AudioHardwareMot( 2193): Output bufSize from kernel = 8192
E/Trace (10361): error opening trace file: No such file or directory (2)
V/ActivityThread(10361): de.schildbach.wallet white listed for hwui
E/dalvikvm(10361): Could not find class
'com.google.bitcoin.store.WalletProtobufSerializer', referenced from method
de.schildbach.wallet.WalletApplication.loadWalletFromProtobuf
W/dalvikvm(10361): VFY: unable to resolve new-instance 761
(Lcom/google/bitcoin/store/WalletProtobufSerializer;) in
Lde/schildbach/wallet/WalletApplication;
D/dalvikvm(10361): VFY: replacing opcode 0x22 at 0x0015
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.Wallet.isConsistent, referenced from method
de.schildbach.wallet.WalletApplication.loadWalletFromProtobuf
W/dalvikvm(10361): VFY: unable to resolve virtual method 6441:
Lcom/google/bitcoin/core/Wallet;.isConsistent ()Z
D/dalvikvm(10361): VFY: replacing opcode 0x6e at 0x0057
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.Wallet.getKeys, referenced from method
de.schildbach.wallet.WalletApplication.loadWalletFromProtobuf
W/dalvikvm(10361): VFY: unable to resolve virtual method 6437:
Lcom/google/bitcoin/core/Wallet;.getKeys ()Ljava/lang/Iterable;
D/dalvikvm(10361): VFY: replacing opcode 0x6e at 0x0117
E/dalvikvm(10361): Could not find class 'com.google.bitcoin.core.Wallet',
referenced from method
de.schildbach.wallet.WalletApplication.loadWalletFromProtobuf
W/dalvikvm(10361): VFY: unable to resolve new-instance 752
(Lcom/google/bitcoin/core/Wallet;) in Lde/schildbach/wallet/WalletApplication;
D/dalvikvm(10361): VFY: replacing opcode 0x22 at 0x013a
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.Wallet.saveToFile, referenced from method
de.schildbach.wallet.WalletApplication.protobufSerializeWallet
W/dalvikvm(10361): VFY: unable to resolve virtual method 6446:
Lcom/google/bitcoin/core/Wallet;.saveToFile (Ljava/io/File;)V
D/dalvikvm(10361): VFY: replacing opcode 0x6e at 0x0006
E/dalvikvm(10361): Could not find class 'com.google.bitcoin.core.Wallet',
referenced from method de.schildbach.wallet.WalletApplication.readKeys
W/dalvikvm(10361): VFY: unable to resolve new-instance 752
(Lcom/google/bitcoin/core/Wallet;) in Lde/schildbach/wallet/WalletApplication;
D/dalvikvm(10361): VFY: replacing opcode 0x22 at 0x0013
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
W/dalvikvm(10361): VFY: unable to resolve instance field 2716
D/dalvikvm(10361): VFY: replacing opcode 0x54 at 0x0009
E/dalvikvm(10361): Could not find class 'com.google.bitcoin.core.ECKey',
referenced from method de.schildbach.wallet.WalletApplication.addNewKeyToWallet
W/dalvikvm(10361): VFY: unable to resolve new-instance 728
(Lcom/google/bitcoin/core/ECKey;) in Lde/schildbach/wallet/WalletApplication;
D/dalvikvm(10361): VFY: replacing opcode 0x22 at 0x0002
W/dalvikvm(10361): VFY: unable to resolve instance field 2716
D/dalvikvm(10361): VFY: replacing opcode 0x54 at 0x0002
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
I/dalvikvm(10361): Failed resolving
Lde/schildbach/wallet/WalletApplication$WalletAutosaveEventListener; interface
749 'Lcom/google/bitcoin/core/Wallet$AutosaveEventListener;'
W/dalvikvm(10361): Link of class
'Lde/schildbach/wallet/WalletApplication$WalletAutosaveEventListener;' failed
E/dalvikvm(10361): Could not find class
'de.schildbach.wallet.WalletApplication$WalletAutosaveEventListener',
referenced from method de.schildbach.wallet.WalletApplication.onCreate
W/dalvikvm(10361): VFY: unable to resolve new-instance 1022
(Lde/schildbach/wallet/WalletApplication$WalletAutosaveEventListener;) in
Lde/schildbach/wallet/WalletApplication;
D/dalvikvm(10361): VFY: replacing opcode 0x22 at 0x0057
W/dalvikvm(10361): VFY: unable to find class referenced in signature
(Lcom/google/bitcoin/core/Wallet;)
D/dalvikvm(10361): DexOpt: unable to opt direct call 0x1939 at 0x17 in
Lde/schildbach/wallet/WalletApplication;.loadWalletFromProtobuf
D/dalvikvm(10361): DexOpt: unable to opt direct call 0x191e at 0x13e in
Lde/schildbach/wallet/WalletApplication;.loadWalletFromProtobuf
D/dalvikvm(10361): DexOpt: unable to opt direct call 0x18de at 0x147 in
Lde/schildbach/wallet/WalletApplication;.loadWalletFromProtobuf
D/dalvikvm(10361): DexOpt: unable to opt direct call 0x191e at 0x17 in
Lde/schildbach/wallet/WalletApplication;.readKeys
D/dalvikvm(10361): DexOpt: unable to opt direct call 0x18de at 0x04 in
Lde/schildbach/wallet/WalletApplication;.addNewKeyToWallet
I/dalvikvm(10361): Failed resolving
Lde/schildbach/wallet/WalletApplication$WalletAutosaveEventListener; interface
749 'Lcom/google/bitcoin/core/Wallet$AutosaveEventListener;'
W/dalvikvm(10361): Link of class
'Lde/schildbach/wallet/WalletApplication$WalletAutosaveEventListener;' failed
D/dalvikvm(10361): DexOpt: unable to opt direct call 0x1f4f at 0x59 in
Lde/schildbach/wallet/WalletApplication;.onCreate
I/ActivityThread(10361): Pub de.schildbach.wallet.address_book:
de.schildbach.wallet.AddressBookProvider
I/ActivityThread(10361): Pub de.schildbach.wallet.exchange_rates:
de.schildbach.wallet.ExchangeRatesProvider
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.Utils.toNanoCoins, referenced from method
de.schildbach.wallet.ExchangeRatesProvider.getBitcoinCharts
W/dalvikvm(10361): VFY: unable to resolve static method 6428:
Lcom/google/bitcoin/core/Utils;.toNanoCoins
(Ljava/lang/String;)Ljava/math/BigInteger;
D/dalvikvm(10361): VFY: replacing opcode 0x71 at 0x0079
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.Utils.toNanoCoins, referenced from method
de.schildbach.wallet.ExchangeRatesProvider.getBlockchainInfo
W/dalvikvm(10361): VFY: unable to resolve static method 6428:
Lcom/google/bitcoin/core/Utils;.toNanoCoins
(Ljava/lang/String;)Ljava/math/BigInteger;
D/dalvikvm(10361): VFY: replacing opcode 0x71 at 0x005f
D/WalletApplication(10361): .onCreate()
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.NetworkParameters.testNet3, referenced from method
de.schildbach.wallet.Constants.<clinit>
W/dalvikvm(10361): VFY: unable to resolve static method 6377:
Lcom/google/bitcoin/core/NetworkParameters;.testNet3
()Lcom/google/bitcoin/core/NetworkParameters;
D/dalvikvm(10361): VFY: replacing opcode 0x71 at 0x001e
I/dalvikvm(10361): Could not find method
com.google.bitcoin.core.NetworkParameters.prodNet, referenced from method
de.schildbach.wallet.Constants.<clinit>
W/dalvikvm(10361): VFY: unable to resolve static method 6376:
Lcom/google/bitcoin/core/NetworkParameters;.prodNet
()Lcom/google/bitcoin/core/NetworkParameters;
D/dalvikvm(10361): VFY: replacing opcode 0x71 at 0x00a2
W/dalvikvm(10361): Exception Ljava/lang/NoClassDefFoundError; thrown while
initializing Lde/schildbach/wallet/Constants;
D/AndroidRuntime(10361): Shutting down VM
W/dalvikvm(10361): threadid=1: thread exiting with uncaught exception
(group=0x40a9c300)
E/AndroidRuntime(10361): FATAL EXCEPTION: main
E/AndroidRuntime(10361): java.lang.ExceptionInInitializerError
E/AndroidRuntime(10361): at
de.schildbach.wallet.WalletApplication.onCreate(WalletApplication.java:100)
E/AndroidRuntime(10361): at
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:999)
E/AndroidRuntime(10361): at
android.app.ActivityThread.handleBindApplication(ActivityThread.java:4371)
E/AndroidRuntime(10361): at
android.app.ActivityThread.access$1300(ActivityThread.java:144)
E/AndroidRuntime(10361): at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
E/AndroidRuntime(10361): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(10361): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(10361): at
android.app.ActivityThread.main(ActivityThread.java:4966)
E/AndroidRuntime(10361): at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime(10361): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(10361): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime(10361): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
E/AndroidRuntime(10361): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(10361): Caused by: java.lang.NoClassDefFoundError:
com.google.bitcoin.core.NetworkParameters
E/AndroidRuntime(10361): at
de.schildbach.wallet.Constants.<clinit>(Constants.java:40)
E/AndroidRuntime(10361): ... 13 more
W/ActivityManager( 2535): Force finishing activity
de.schildbach.wallet/.WalletActivity
W/ActivityManager( 2535): Activity pause timeout for ActivityRecord{40edf788
de.schildbach.wallet/.WalletActivity}
D/AudioHardwareMot( 2193): AudioStreamOutMot::standby called
D/AudioHardwareMot( 2193): Output 0x2a009c58 entering standby
D/AudioHardwareMot( 2193): Closing Output device
I/ActivityManager( 2535): Process de.schildbach.wallet (pid 10361) has died.
W/InputMethodManagerService( 2535): Window already focused, ignoring focus gain
of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41282290
attribute=null
Original comment by david8bl...@gmail.com
on 3 Apr 2013 at 2:03
Caused by: java.lang.NoClassDefFoundError:
com.google.bitcoin.core.NetworkParameters
Original comment by andreas....@gmail.com
on 3 Apr 2013 at 2:08
I got it building. Here's the recipe:
Build Version:3.01,121,742241f59df1,maven=yes,\
bindir=wallet/target,srclibs=BitcoinJWallet@1649520e3183,prebuild=\
cp -r $$BitcoinJWallet$$/ . && rm -rf market/ && \
sed -i 's/0.8/0.8-SNAPSHOT/g' wallet/pom.xml && \
sed -i 's/wallet/BitcoinJWallet/g;s/sample-integration-android/wallet/g' pom.xml
Been waiting 30mins for a 0.0105 BTC transfer and I might up the fee to 0.001
to see
if it fixes. Otherwise it seems to be working fine (I'm really impressed how the
it uses so little data and storage now) so I'll let it be published.
Original comment by david8bl...@gmail.com
on 13 Apr 2013 at 4:57
Coins arrived after an hour. I had one BTC less after exporting keys from 2.31
and importing to 3.01.
There was a problem with the build. It worked for me because of my cache but on
a fresh build there is
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project de.schildbach.wallet:integration-android:1.0
(/home/gerry/fdroiddata/build/de.schildbach.wallet_test/integration-android/pom.
xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find
de.schildbach.wallet:base:pom:1 in http://repo.maven.apache.org/maven2 was
cached in the local repository, resolution will not be reattempted until the
update interval of central has elapsed or updates are forced and
'parent.relativePath' points at wrong local POM @ line 11, column 10 -> [Help 2]
I have hard time with maven and am not sure how to fix.
Original comment by david8bl...@gmail.com
on 14 Apr 2013 at 12:51
You need to build the base module first.
So either you just use "mvn clean install" in the base module (which compiled
everything else).
Or you manually "mvn -N clean install" just the base module and then "cd
wallet; mvn clean install" build the wallet module.
Original comment by andreas....@gmail.com
on 14 Apr 2013 at 1:24
re #27: I assume you are trying to convert the testnet wallet into a prodnet
wallet. If you look at the prodnet branch, the commits in there do what is
needed:
742241f59df133e57fe5582c4036ea71f7412bc3 checkpoints for prodnet
86f78ac805a9cbc74c14ad7d9b3d9c3306e60afb app name for prodnet
8899dd2352a8edf48580e7cf084fad5dc0dd3b70 app icon for prodnet
606276e200b32edc5e167f349df2dc5762e37236 widget preview for prodnet
b121b0c6d780d4c9306f179267ad5f4bc6a65a50 remove 'test' flavor from version
Unfortunately, I need to rebase that branch with each new version, so the
commit hashes will not stay the same.
Original comment by andreas....@gmail.com
on 14 Apr 2013 at 1:29
Actually fdroid only runs mvn clean package for this recipe (which is what
maven=yes means), but we still got the errors. I made a patch renaming the
parent versions and artifactId in the sub poms and that seems to work. I'll
make a note that the commits will have changed, thanks.
Original comment by david8bl...@gmail.com
on 14 Apr 2013 at 2:14
The apk is available now. THe apk is 3.1MiB, twice the size of yours. I can't
see any different files except for the keyalias
Original comment by david8bl...@gmail.com
on 14 Apr 2013 at 8:45
Did proguard run? I you use maven, it should be run automatically if build with
the release profile. I guess
mvn clean install -Prelease
Original comment by andreas....@gmail.com
on 14 Apr 2013 at 9:11
The application we have is debuggable. It seems affecting some of our maven
apps. The classes are double the size . This is something we need to fix
quickly.
Original comment by david8bl...@gmail.com
on 14 Apr 2013 at 9:20
Debuggable apps should not be allowed into any market. Thats a security issue.
Original comment by andreas....@gmail.com
on 14 Apr 2013 at 9:36
Thanks for the tip. I don't think we have been running -Prelease.
Original comment by david8bl...@gmail.com
on 14 Apr 2013 at 9:36
I've added a section about building the productive version to the readme:
http://bitcoin-wallet.googlecode.com/git/wallet/README
Original comment by andreas....@gmail.com
on 15 Apr 2013 at 10:54
We haven't made changes yet to force maven to do specific profiles. Using -D
android.release=true would appear to be the same as putting debuggable=false in
the manifest but I'm only guessing. That seems to be the best route for us
because -Prelease doesn't always prevent the apk from being debuggable. We'll
publish the apk now with debuggable=false. The apk is still twice the size
(with android.release=true too): I'm assuming that's ok andit's just missing
proguard . We'll also continue to pubish Testnet but with debuggable=false as
we are rejecting all debuggable apks now.
Original comment by david8bl...@gmail.com
on 16 Apr 2013 at 3:11
Issue 234 has been merged into this issue.
Original comment by andreas....@gmail.com
on 17 Oct 2013 at 11:12
Issue 234 has been merged into this issue.
Original comment by andreas....@gmail.com
on 18 Oct 2013 at 2:57
Original issue reported on code.google.com by
wheresau...@lavabit.com
on 5 Apr 2011 at 5:05