Bitcoin Forum
June 17, 2021, 11:25:00 PM *
News: Latest Bitcoin Core release: 0.21.1 [Torrent]
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 »
1  Bitcoin / Wallet software / [ANN] Bitcoin Extra Wallet for Android. Includes ShapeShift Support. on: September 01, 2016, 08:53:19 PM

                                                                     Bitcoin Extra Wallet is an Android app built upon Andreas Schildbach's popular wallet, with additional features. You can use it to exchange and pay to altcoins using ShapeShift integration and you can export your transactions for accounting purposes. I have already developed the Peercoin Android wallet and NuDroid (for NuBits) which also have these additional features. The app is open-source under GPLv3.

ShapeShift Functionality

ShapeShift integration allows you to pay to alternative coins such as Peercoin or Litecoin with your Bitcoin. Simply scan a QR code, follow a payment link, or enter an address for a coin of choice. You can specify a Bitcoin amount or an amount in the other currency. When you send Bitcoin your funds will automatically be exchanged and sent. It couldn't be any simpler!

The supported coins are: BitCrystals, Blackcoin, Clams, Counterparty, Dash, Digibyte, Dogecoin, Emercoin, Litecoin, MaidSafeCoin, Mastercoin, Mintcoin, Monacoin, Namecoin, Novacoin, NuBits, Peercoin, Reddcoin, Shadowcash, Startcoin, Storjcoin X, Vericoin, and Vertcoin.

Ethereum is not currently supported, however may be added in an update. ShapeShift is not used for Bitcoin only transfers.

ShapeShift is a third party service:

Other Features

  • In the menu you can export your transactions to a csv file.
  • No registration, web service or cloud needed! This wallet is de-centralized and peer to peer.
  • Display of Bitcoin amount in BTC, mBTC and µBTC.
  • Conversion to and from national currencies.
  • Sending and receiving of Bitcoin via NFC, QR codes or Bitcoin URLs.
  • Address book for regularly used Bitcoin addresses.
  • When you're offline, you can still pay via Bluetooth.
  • System notification for received coins.
  • Sweeping of paper wallets (e.g. those used for cold storage).
  • App widget for Bitcoin balance.

2  Alternate cryptocurrencies / Altcoin Discussion / [ANN] Peercoin Android Wallet (Beta) Released on: September 13, 2014, 04:36:23 PM

On Google Play:

Original Bitcoin Wallet:
Original Topic:

Android app on Github:
Peercoinj on Github:
Explorer on Github:

Donate: PHYsT4HACNAyjEou2x9ufopGKuRJJAfeYT
You can also Donate in the app directly. On the Menu go to "Tip / Donate"

The Peercoin Android wallet based upon Andreas Schildbach's popular Bitcoin wallet has been released. The app allows you to send and receive Peercoins on your device using QR codes, NFC and URI links. The application uses a centralised server to validate blocks but private keys are never shared. The server provides valid block hashes through the getvalidhashes API method here:

The app is labelled as Beta, as it is open for public testing. The application may have unfound bugs and problems. The NFC function has not been tested yet. Problems can be reported to

This application is licensed under the GPL version 3. There is no warranty and no party shall be made liable to you for damages. If you lose coins due to this app, no compensation will be given. Use this app solely at your own risk.

Developer - Matthew Mitchell
3  Bitcoin / Bitcoin Technical Support / Has the double spend, never confirming transactions bug been fixed? on: July 01, 2014, 07:52:33 PM
I know that in at least earlier versions of bitcoins there was a significant problem with transactions that would never confirm due to double spend:

Has this problem been resolved? If so, which version? And if anyone could point to the particular code/commit that fixes it, I would be most grateful.


4  Alternate cryptocurrencies / Mining (Altcoins) / Open-source profit switching pool. on: April 02, 2014, 07:03:04 PM

I was wondering if there is any open source software available for profit switching pools? I have ideas about how it could be implemented but I was wondering if there are any open-source implementations already.


5  Alternate cryptocurrencies / Mining (Altcoins) / CancerCureCoin Difficulty is VERY LOW. on: February 16, 2014, 11:03:37 PM
Hi. Just to let everyone know, as of when this topic was made the difficulty for CancerCureCoin is very low at 0.21832774.

It's a good opportunity to get in. CancerCureCoin is not a mere clone like many other crypto-currencies. It is designed to help promote and raise money for cancer research as the first solely charitable crypto-currency.

Please visit the CancerCureCoin topic:

You can mine using the pool I've set up:

If you want to setup your own pool I have placed the amended stratum mining server code here:

My pool is the only one at the moment. More pools would be healthy for the coin so new pools are very much welcome.

Solo mining is not a necessarily a bad idea at these low difficulty rates either.


Matthew Mitchell
6  Alternate cryptocurrencies / Mining (Altcoins) / [NEW POOL] Mine CancerCureCoin with HashAxe (Beta) on: February 15, 2014, 09:20:19 PM
HashAxe CCC Pool (Beta)
CCC Topic

1% Pool Fee | VARDIFF | Proportional Payments | SSL Security

This is the first pool available for CancerCureCoin, a crypto-currency designed to promote and raise money for cancer research. The 1% fee is applied after the mandatory 5% fee. Please read more on the CancerCureCoin topic.

Use this pool at your own risk. "Beta" means it is expected that this pool may experience problems and is open for testing by miners. This pool may go into downtime or maintenance at any moment without warning. Please report bugs and problems via the Contact page or send an email to
7  Bitcoin / Project Development / Bitcoin Trading Algorithm Source Code (Doesn't make money) on: January 10, 2014, 04:04:11 PM
Hi. I'm not sure if this is the best forum to post this, but I thought I'd post the source code for an experiment I did with a bitcoin trading algorithm. It doesn't make money but maybe people would be interested in it. It was designed to use the old trade hill API. That part would need to be changed to test it out. I tried changing it to use MtGox but the MtGox had some sort of firewall that I had no idea how to pass.

I used OpenCL to check many trading strategies on previous price data to make a guess as to the best future trading strategy. It used three technical indicators. The RSI one didn't seem to do much but the PPO indicator and the PM one which I think I invented myself (variation on price momentum) gave the best results (though still not good enough to make a profit). It was an interesting experiment.

Please don't try using it with a live account unless you actually get it to make money which I doubt would be very easy.

See the code here:
8  Bitcoin / Development & Technical Discussion / SNARK-based Crypto-currency Validation Model on: December 11, 2013, 01:12:56 PM
This is a continuation from the off topic discussion at about using SNARK programs as an alternative crytocurrency validation model. Program execution correctness can be verified with SNARK. See here for more information about SNARKs:

The essential idea is that miners do all of the validation and provide proof-of-knowledge about the correct unspent outputs which other nodes can verify without needing to verify transactions themselves.

I thought it would be something like

inputs: prev_utxo_tree_hash, transaction set for current block
output: utxo_tree_hash


F(prev_utxo_tree_hash, transaction set for current block) = utxo_tree_hash

Indeed. If even a single hash would increase the complexity too much (would it? I don't know), I suppose you could obtain the unspent outputs from running an ordinary validation program, and then provide the tree hash as an input to a SNARK program which verifies that the unspent outputs match at the end of execution. That way you only need a boolean output for the SNARK program.

I did read somewhere that the SNARK programs can have public inputs as well as arbitrary inputs which are unknown to verifiers. Is that right? Some details would be hidden to the verifier, such as the transactions.

If this is correct then another node would just need prev_utxo_tree_hash, utxo_tree_hash and the signature of the execution of F to validate that the block was correctly processed. Doesn't even need the transactions.

Sorry again if I'm saying something stupid about snark, this is still like magic to me so it's hard to retain what can and cannot be done.

This is what I thought. And if you could embed previous proofs into new proofs then blocks could contain a proof that the previous proof was verified. Then you would only need the latest block, because that block would act as proof for all of the previous blocks. That would be ideal. The blocks would need to then also calculate and provide proof for the total work done, so that nodes can simply choose the block with the chain with the highest total proven work.
9  Bitcoin / Development & Technical Discussion / BIP0032 Mistake on: October 18, 2013, 04:00:46 PM
I was reading through BIP0032 and I found what is clearly a mistake here:

This is wrong:

Ki = (IL + Kpar)*G = IL*G + Kpar

It should be:

Ki = (IL + kpar)*G = IL*G + Kpar

It confused me at first until I realised it was a mistake. It's only a small thing but other people might also get confused.

Also having "(mod n)" is pointless. It's known that the elliptic curve operations are done over a finite field and "(mod n)" is not shown consistently.

Other than that, everything makes sense to me.
10  Bitcoin / Project Development / [REVOKED] Networking problems on OSX. Libevent/Libev. on: October 18, 2013, 03:09:47 PM
Edit: This offer has been revoked as a solution has been found. evthread_use_pthreads(); was not called and it needed to be.


I have a problem with the networking code in cbitcoin which only occurs with OSX. I've tried using the libevent and libev libraries and both of them seemingly give the same problem. I've got libevent and libev to work on Linux Mint. If you try running the tests for cbitcoin on OSX Mountain Lion, the testCBNodeFull should stall because the nodes do not receive events for the connection, nor does the connection timeout work. What I have done is try to create a minimised example of the problem which clearly shows that the connection events are not working. I looked at tcpdump, and it appears to me that the connection is established. For some reason testCBNetworkCommunicator works when the code is almost identical. I should also mention that sometimes it has been working for me, and once the connection event was fired but not the accept event. Most of the time none of the events fire.

The code for the minimised example and more information is shown on this stack overflow question:

You can download and try cbitcoin using:

git clone
cd cbitcoin
make test

The problematic code can be found on the accountingAndNodes branch.

Use "make debug-test" to build and test with debug symbols enabled. The libev counterpart to the default libevent code is currently found in /experimental. You will need to modify the makefile slightly to get that to work which is a simple affair.


Matthew Mitchell
11  Bitcoin / Development & Technical Discussion / Where is the version field set for "getblocks" and "getheaders"? on: August 22, 2013, 04:33:22 PM
According to the protocol specification wiki page the "getblocks" and "getheaders" messages have a version field:

I cannot find where this is set in the bitcoin satoshi client source code. All I can see is the block locator object and stop hash being set. Can anyone enlighten me?
12  Bitcoin / Bitcoin Discussion / Donating to the cbitcoin library. on: February 05, 2013, 09:27:26 PM

I wish to thank everyone who has supported cbitcoin so far. I appreciate all donations and help very much.

For those that are unaware, cbitcoin is a C bitcoin library in development which aims to make bitcoin development more accessible and easier, thus hopefully opening bitcoin to more innovation. Please see this topic for more information:

The reason I am making this topic is because some people mentioned the usage of crowdsourcing websites for raising money for cbitcoin. I'm making this topic to notify that if you want to support this project with donations through Rockethub you have 8 days remaining to do. I thank K. Darien Freeheart and Patrick Levell who have donated so far via Rockethub, and all the people who have donated via bitcoin.

You can donate here:

Don't be afraid if you do not wish to donate via Rockethub. You can still donate via bitcoin with the address: 1D5A1q5d192j5gYuWiP3CSE5fcaaZxe6E9 and you can be listed on this page: if you can prove you have donated.

Thank you very much,

Matthew Mitchell.
13  Bitcoin / Bitcoin Discussion / Formalised Bitcoin Protocol Standard on: January 02, 2013, 01:53:52 PM
I've thought about this and I'm surprised I've not seen (or can find) very much discussion eluding to this. At the moment, for anyone that wants to understand the bitcoin protocol, they would be able to use the bitcoin wiki somewhat, as well as forums and other websites but ultimately have to look at the source code of bitcoin implementations, or rely on the knowledge of other people.

It would be very useful and wise, in my opinion, if there was a formalised document describing the protocol to every detail, but in a way that is easy for anyone to follow. It would be a document that would be used as a reference for developers and would reflect all of the agreed (In majority use/Majority mining power) protocol features. The protocol standards document would then be amended as the protocol is modified. A separated set of documents could describe other features which are not core to the protocol such as wallet formats or whatever.

I had a hunch this would be something the Bitcoin Foundation was set up for, but it seems not. Do other people think this would be very useful to work upon? Otherwise the information will continue to be disorganised and a nightmare to piece together.
14  Bitcoin / Development & Technical Discussion / Correct header data for block 1 on: December 18, 2012, 10:11:06 PM
Hello. I have some code that calculates a hash for a block. It was working perfectly sometime before, but now for some reason I cannot get a correct hash for block 1. I can calculate the correct hash for the genesis block, but not block 1. I've taken what I've thought is the correct header data for block 1 and I've tried to hash it manually using a technique that works for the genesis block and it seems that the header data is incorrect. Can anyone find a problem with this data? I might be going crazy as I can't find it:

0x1, 0x0, 0x0, 0x0,
0x6f, 0xe2, 0x8c, 0xa, 0xb6, 0xf1, 0xb3, 0x72, 0xc1, 0xa6, 0xa2, 0x46, 0xae, 0x63, 0xf7, 0x4f, 0x93, 0x1e, 0x83, 0x65, 0xe1, 0x5a, 0x8, 0x9c, 0x68, 0xd6, 0x19, 0x0, 0x0, 0x0, 0x0, 0x0,
0x98, 0x20, 0x51, 0xfd, 0x1e, 0x4b, 0xa7, 0x44, 0xbb, 0xcb, 0x68, 0xe, 0x1f, 0xee, 0x14, 0x67, 0x7b, 0xa1, 0xa3, 0xc3, 0x54, 0xb, 0xf7, 0xb1, 0xcd, 0xb6, 0x6, 0xe8, 0x57, 0x23, 0x3e, 0xe,
0x61, 0xbc, 0x66, 0x49,
0xff, 0xff, 0x0, 0x1d,
0x1, 0xe3, 0x62, 0x99

15  Bitcoin / Bitcoin Discussion / Your Opinion for the cbitcoin Logo (Second Set) on: November 19, 2012, 11:14:48 PM

The final logo has been chosen. Some tweaks can still be made if enough people show concern.

See it on the website, also with a new background scrolling code:


Thank you very much for those that voted and gave feedback for the first set of cbitcoin logo designs. Your feedback has been taken on board and a second set of logos have been designed. I would very much appreciate your feedback on these, and this should be the final feedback that will go into the design of the final logo.

When voting please do not view the logos as final but vote based on the general principle on the design. You may explain what you like, what you do not like and anything you'd change as a reply to this topic.

The feedback will be collected for developing the final design on 11AM Wednesday 21st Nov GMT, so please leave feedback by then.

Thank you,

Matthew Mitchell.

16  Bitcoin / Bitcoin Discussion / Your Opinion for the cbitcoin Logo. on: November 18, 2012, 09:06:02 PM
Hello. I have had some initial concepts for the cbitcoin logo (A bitcoin library in C). These are not final. I would like your opinion on what types of design you prefer; what do you like and what do you not like?

The final logo may incorporate something to do with the sea as a reflection on the fact the library is a C library. Does anyone like this idea?

Any comments are very much appreciated and will be useful in creating the final logo.

Thank you.

17  Bitcoin / Project Development / [ANN] cbitcoin 2.0 - A Bitcoin Library in C on: November 09, 2012, 03:01:56 PM

cbitcoin is a bitcoin library intended to open bitcoin to further innovation and development.


Donate via Paypal: Click here!

Donation via Bitcoin: 1D5A1q5d192j5gYuWiP3CSE5fcaaZxe6E9

Donation via Charitycoin: CSU54ZAa4VuhiVwzgyAudePmn7eJigkKU5

Become listed as a donor or sponsor:

Github Repository:


Contact: Matthew Mitchell <>


Please see the for latest installation instructions.


cbitcoin is a bitcoin library in development using the C programming language. It is being built from scratch with the purpose of making developing bitcoin applications easier and faster. It is fast to compile and has few dependencies which can easily be replaced or even removed if you do not need them thanks to the weak linking nature of the library. libevent or libev is used for networking and OpenSSL is used for the crypto. POSIX libraries are widely used but are not necessarily needed.

Code contributions, testing and donations are greatly welcome from those that wish to support the development of this project.

List of features either implemented, incomplete or planned:

  • Bitcoin message structures including serialisation and deserialisation functions.
  • A bitcoin script interpreter.
  • Functions used for validation of POW, merkle trees, transactions etc.
  • Automated bitcoin handshakes, peer discovery and pings.
  • A network address manager.
  • Network seeding, including DNS.
  • Base-58 encoding/decoding.
  • Bitcoin address/WIF functions.
  • Hierarchical Deterministic keys (BIP0032)
  • Doxygen documentation and well-documented source code.
  • Dependencies can easily be swapped and changed by implementing weakly linked functions.
  • Implementations included that require libevent/libev, OpenSSL and POSIX.
  • Very fast compilation. Much faster than the Satoshi client.

Thank you

Please do not hesitate to ask questions. You can reply to this topic, email me ( or send me a private message. Visit to view the progress of the library and there you can watch and star the repository.

I would be very glad if I have convinced you that this project is worthy of your contribution of any kind and I look forward to your replies in this thread.

Thank you,

Matthew Mitchell
18  Bitcoin / Development & Technical Discussion / Generation of Test Blocks for the Production Network. on: October 18, 2012, 09:39:07 PM
Hello. For the testing of my block-chain validation code, I am needing some blocks which allow me to test various cases. For instance a block where everything is valid except for the timestamp.

The problem is, to test these without disabling the PoW checks, the blocks need to have valid hashes. I'm making this topic to ask if anyone would like to help generate some of these blocks. Once created these blocks should hopefully be useful for many bitcoin implementations.

Matt Corallo has a program named pulltester which may help with this, though I'll leave him the opportunity to explain that in more detail, if he wishes.

I'll list here the blocks I know I'll need to test, though there may be more blocks which will be helpful (inc. for other implementations). A lot of the tests can be done on the validation functions without needing separate blocks for each case so it may seem many things are missing.

All of these blocks should be valid except for the things mentioned. This includes a valid hash.

Blocks after the genesis block with the following problems (ie. At height 1):

* Block with zero transactions.
* Block with incorrect merkle root.
* Block with first transaction not a coinbase.
* Block with non-final coinbase transaction
* Block with zero outputs
* Block with a size of 1000001 bytes.
* Block with bad coin-base script size (< 2 or > 100).

Blocks after the 100 miner test blocks which are made with this code:

* A block with a mixture of sigops (inc. P2SH) with 20000 sigops (This is a valid one).
* Same but with 20001 sigops.
* Block spending coinbase from height 2.
* Block with non-coinbase transaction that is not final.
* Block with transaction spending output of a transaction earlier inside that block (Valid).
* Block with transaction spending output of a transaction later inside that block.
* Two inputs referencing same output in two different transactions in a block.
* Block with transaction with invalid input script.
* Block with input referencing output that does not exist.
* Block with coinbase value equal to block reward plus several transaction fees (Valid).
* Block with coin base value equal to block reward plus several transaction fees plus one.
* Block with timestamp 1231006525.

I also need to test some obscure parts of the block-chain re-organisation.

This can be done with a branch which goes off the branch created with the 100 test blocks and becomes the main chain. Then several blocks can be added to that branch so that the branch with the 100 blocks can be extended without becoming the main chain. Then another branch is made of this branch (Not an extension) which becomes the main branch.

So to begin with there will be these blocks

A: 0 --> 1
B:   `-> 1 … 99 --> 100

Next a new main chain is need that branches of the previous main chain:

A: 0 --> 1
B:   `-> 1 … 99 --> 100
C:              `-> 100 --> 101

Then this new branch is extended to make room for extension of the other branch.

A: 0 --> 1
B:   `-> 1 … 99 --> 100
C:              `-> 100 --> 101 --> 102

Now the other branch is extended:

A: 0 --> 1
B:   `-> 1 … 99 --> 100 --> 101 --> 102
C:              `-> 100 --> 101 --> 102

Then the new main chain is made:

A: 0 --> 1
B:   `-> 1 … 99 --> 100 --> 101 --> 102
D:             \                `-> 102 --> 103
C:              `-> 100 --> 101 --> 102

What that tests, is reorganisation in the case where the new main chain makes use of a parent branch with previous validation data and which requires further validation. In this case block B101 has not been completely validated before the reorganisation because complete validation is only done on blocks that enter the main chain or when there is a reorganisation. That's just one part of the code that needs testing.

It would also be good to have more blocks with an invalid block for B101 as that would ensure an invalid block in a parent branch whilst doing complete validation would be caught. B101 would need to be invalid in a particular way. Give B101 an invalid coinbase output value. That would work.

So what is needed is C100, C101, C102, B101, B102, D102, D103, where B is the branch using the miner test blocks.

And also another set of B101, B102, D102, D103 with an invalid B101.

Sorry that this is confusing.

I also need to test the branch trimming code but I won't figure that out until I've actually coded it.  Smiley

Thanks for anyone willing to help. If anyone needs any further information please ask.
19  Bitcoin / Development & Technical Discussion / Creating the 100 Miner Test Blocks. on: October 17, 2012, 06:01:20 PM
Hello. I'm trying to generate the mining test blocks from here:

I assume they work on top of the genesis block and so I tried creating them but the first fails with a bad hash. The first block data I have is this:

0x1, 0x0, 0x0, 0x0, // Version 1
0x6f, 0xe2, 0x8c, 0xa, 0xb6, 0xf1, 0xb3, 0x72, 0xc1, 0xa6, 0xa2, 0x46, 0xae, 0x63, 0xf7, 0x4f, 0x93, 0x1e, 0x83, 0x65, 0xe1, 0x5a, 0x8, 0x9c, 0x68, 0xd6, 0x19, 0x0, 0x0, 0x0, 0x0, 0x0, // Genesis Prev Hash
0x42, 0xa, 0x9e, 0xc3, 0xf4, 0xa4, 0x97, 0x26, 0x7d, 0xb5, 0xe0, 0x7d, 0xdd, 0x2e, 0xea, 0x53, 0xa5, 0x37, 0x68, 0xbc, 0x49, 0xd7, 0x89, 0xb9, 0x9c, 0x8a, 0x7a, 0x5a, 0x98, 0x92, 0x9b,
0xba, // Merkle Root
0x2a, 0xab, 0x5f, 0x49, // TimeStamp
0xff, 0xff, 0x0, 0x1d, // Target
0x23, 0xe2, 0xa3, 0xa4, // Nonce
0x1, // Transaction number
0x1, 0x0, 0x0, 0x0, // Transaction version
0x1, // Input number
0x0 <repeats 32 times>, // Coinbase output reference hash
0xff, 0xff, 0xff, 0xff, // Coinbase output reference index
0x5, // Input script length
0x4, // Extra nonce
0x0, 0x0, 0x0, 0x0, // Height
0xff, 0xff, 0xff, 0xff, // Sequence
0x1, // Output number
0x0, 0xf2, 0x5, 0x2a, 0x1, 0x0, 0x0, 0x0, // Output value
0x0, // Output script length. Assuming nothing comes after with zero length???
0x0, 0x0, 0x0, 0x0 // Locktime

What am I doing wrong, does anyone know?

I need to do this to do some block validation tests.
20  Bitcoin / Bitcoin Discussion / [ANN] cbitcoin 1.0 Alpha 4 Released. on: September 13, 2012, 10:31:10 PM
Download cbitcoin 1.0-alpha-4 here:

cbitcoin is an open-source bitcoin library written in C99. It is designed to make developing bitcoin applications easier. It provides a set of fundamental bitcoin functions which allow developers to create a diverse range of bitcoin software. This library will be the foundation for a new bitcoin client currently under the code-name BitEagle.

I've posted this in "Bitcoin Discussion" with a new topic because I would like to appeal for funding from the wider community. Luckily one person has volunteered to provide some design elements for cbitcoin (which is pending), but there will almost certainly be other costs involved. Unless I can find volunteers, I will need to pay for some programming work which I am unable to complete personally. I may need to fund some additional design work and I may also use some donations to offer bounties for those that can find critical bugs. Excess donations will likely go towards projects that use cbitcoin, including BitEagle which will involve a lot more work.

If anyone would like to support the project please donate to -> 1D5A1q5d192j5gYuWiP3CSE5fcaaZxe6E9

I would also appreciate if anyone can aid with the testing of cbitcoin or make improvements to the code. Contributions can be made through the github repository: and feedback or questions can be sent to Contributors will have their name added to the README and website.

I welcome comments and questions.

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