Bitcoin Forum
May 12, 2024, 12:41:57 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / GAE Miner on: January 11, 2011, 11:31:04 AM
Hi all,

Here is the GoogleAppEngine/Java Miner as promised.

   Project URL: https://github.com/j16sdiz/gaeminer

Background Infomation
Google App Engine is Google's computing platform, it provide 6.5 free "cpu hour" (which is, only 3 real hours) per application. Each user can create up to 10 applications for. That is .... around 50G hashes per day per mobile phone number. I have checked the TOS twice, and do not think this violate the TOS. If you have any concern, please don't use it and ask.

Installation Steps
Due to how Google App Engine works, you need the SDK to install it. Here are the steps:

  • Install Oracle Java SDK
  • Download and install Eclipse. The gae recommand the web version, but the Java version just fine and is smaller.
  • Install Google App Engine Plugin
  • Edit src/net.sdiz.bitcoin.jdo/Config.java and give your account details
  • Apply your GAE account at http://appspot.com/  You need a mobile phone that recieve SMS to pass this step
  • Create 10 applications in your GAE account, pick the default options is fine
  • Go back to eclipse, press the upload button .
  • Click the "App Engine project setting..." link and enter your application-id. Click OK
  • Enter your Google Account Details and click Depoly
  • Repeat the last three steps for the 9 other application-ids

Alternative Installation Step
If you really hate eclipse, there is an ant build.xml provided. But you are on your own.


--
If you love this application, consider donating to: 1JQ4o2onaJnCpKYZnJzHUok9E1GZewon27
2  Bitcoin / Development & Technical Discussion / invalid json-rpc format (on slush's server) on: January 02, 2011, 10:11:10 AM
According to the json rpc spec  http://json-rpc.org/wiki/specification :

Quote
Response ¶
 It has three properties:
    * [....]
    * id - This must be the same id as the request it is responding to.

But currently, it always give a GUID, ignoring the client's request id. Any chance correcting this?
3  Bitcoin / Development & Technical Discussion / What exactly is the midstate? (trying to decode the json data in perl) on: December 23, 2010, 01:52:25 AM
The document say midstate is the hash of first half of data. But I can not repeat this in perl...  Huh

For example, I have got a work like this (from the PMS pool)
Code:
  "data": "000000014e010ed08a87644d4a7d9b9852e8d0c5f5d3fc253917fc2b0000201600000000cec99c8365ef81d58321dbfea0473d01fd513ffa84132a0138d82ead5fd705264d12a5dd1b04864c00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
...
  "midstate": "4e3b9b00f856803067ebe0aa4026eac253a77a70374d6e490b50c947d549f74e"


My code:
Code:
use Digest::SHA qw/ sha256_hex /;
$data = '000000014e010ed08a87644d4a7d9b9852e8d0c5f5d3fc253917fc2b0000201600000000cec99c8365ef81d58321dbfea0473d01fd513ffa84132a0138d82ead';   # first 64 bytes
$data_raw =  pack("H*", $data );   # unpack it as a byte string
print "sha_raw = " . sha256_hex( $data_raw  ) . "\n";

$data_swapped =   pack "N*", unpack "V*", $data ;   # endian swap
print "sha_swapped = " . sha256_hex( $data_swapped ) . "\n";

Output:
Code:
sha_raw = bb4c09641e2d71c977b78edfd86c9793251e8e03f7ea211dcf7c71b7e231c7ac
sha_swapped = 8cbe144c95e66e244959719dabc1cfd4812275548ba099d78361fad1bfa7123b

Anybody can help me on this?
4  Bitcoin / Development & Technical Discussion / A new board for the pooled-mining ? on: December 21, 2010, 12:04:34 AM
May you create a new board for the pooled mining effort(s) ?
There are two pooled miners.
Two long threads discussing how to use it, and one thread complaining ...
They are not "Development & Technical Discussion"
5  Bitcoin / Development & Technical Discussion / Bank Fraud, Is it possible? on: December 18, 2010, 01:25:41 PM
Disclaimer: I have some experience in developing p2p network (freenet), but is a newbie in bitcoin. Please correct me if I am wrong.

Observations
  • Generating private-club fake coins are easy
    Get 100 notes from the "cloud", or a botnet. All "easy" coins are yours.
  • Getting fake coins accepted network-wide is hard
    When the network grow large, it is impossible.
  • But you don't need it accepted network-wide
    Banks, such as MyBitCoin, does not return the same coin you save. If you can make it accept your fake coin, you can get some real coin from it.
So the idea is: Fraud the bank.

Some idea how to connect to the bank:
  • Dominate the bank's peer connection:
    • The -addnode= / -connect= option, does it work that way?
    • DoS the bank (or bank's peers), force the bank bootstrap/connect new client
    • Exploit the topology. I don't know if bitcoin work this way, but some network (like Kad and Freenet) have certain topology. Exploit it to get as near to the bank as possible.
  • Wait until the bank crash.
      If the bank don't backup all its blocks, it have to re-download from the net, make this more then possible.

I have no idea if this really works. All these idea seems to be easy to protect from, provide that you know the attack. This post is just trying to raise some awareness, or just some idea brainstorming.
6  Bitcoin / Development & Technical Discussion / Crypto++ 5.6 ? on: December 15, 2010, 09:18:06 AM
I saw you are using a modified cryptopp 5.6.0,  which disable SSE2 on 32-bit x86.

On the official website, there is a newer version 5.6.1 which fix a few SHA-256 related bug. I guess you may be interested:

- fixed several bugs in the SHA-256 x86/x64 assembly code:
--- incorrect hash on non-SSE2 x86 machines on non-aligned input
--- incorrect hash on x86 machines when input crosses 0x80000000
--- incorrect hash on x64 when compiled with GCC with optimizations enabled

Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!