| 
			| 
					
								| mcaizgk2 (OP) 
								Member     Offline 
								Activity: 66 
								Merit: 47
								
								
								
								
								   | 
								|  | February 09, 2014, 07:13:07 AMLast edit: December 26, 2014, 11:09:09 PM by mcaizgk2
 |  | 
 
 BitcoinLib is a C# Bitcoin Library / RPC Wrapper for .Net projects, up-to-date, Testnet ready, console/web demo clients and setup instructions included.https://github.com/GeorgeKimionis/BitcoinLib BitcoinLib follows a design-by-contract service-oriented architecture, uses strongly-typed structures for complex RPC daeamon's requests and responses, performs all the JSON casting behind the scenes so you don't have to do it manually in every single RPC call, encapsulates all Qt API's logic into a single interface, it comes along with some extended methods for every-day scenarios where the default methods fall short, it is Testnet-ready, fully configurable and on top of that you get two test clients (console + web) out of the box with some nice demo methods implemented in them. |  
						|  |  |  | 
| 
			| 
					
								| ThePok | 
								|  | February 09, 2014, 10:01:21 AM |  | 
 
 looks good    exactly what iam looking for you plan to support it in the future, for example bitcoin-qt 0.9? |  
						|  |  |  | 
| 
			| 
					
								| mcaizgk2 (OP) 
								Member     Offline 
								Activity: 66 
								Merit: 47
								
								
								
								
								   | 
								|  | February 09, 2014, 10:12:07 AM |  | 
 
 I appreciate it. Yes, that's the plan. |  
						|  |  |  | 
| 
			| 
					
								| goodlivn 
								Newbie    Offline 
								Activity: 4 
								Merit: 0
								
								
								
								
								   | 
								|  | February 09, 2014, 01:22:18 PM |  | 
 
 Exactly what I need. Thanks for this     |  
						|  |  |  | 
| 
			| 
					
								| doof | 
								|  | February 11, 2014, 02:33:00 AM |  | 
 
 Good work.  Any project that uses Int16 gets my vote. |  
						|  |  |  | 
| 
			| 
					
								| mcaizgk2 (OP) 
								Member     Offline 
								Activity: 66 
								Merit: 47
								
								
								
								
								   | 
								|  | March 22, 2014, 03:24:48 AM |  | 
 
 Just a heads up, BitcoinLib is now fully up-to-date with bitcoin-cli 0.9.0.https://github.com/GeorgeKimionis/BitcoinLib Features: Fully compatible and up-to-date with Bitcoin-Cli 0.9 RPC API.Design-by-contract, service-oriented architecture.Strongly-typed structures for complex RPC requests and responses.Implicit JSON casting for all RPC messages.Extended methods for every-day scenarios where the built-in methods fall short.Exposure of all RPC API's functionality as well as the extended methods through a single interface.Fallback mechanism for timed-out RPC requests.Custom RPC exceptions.Console and web test clients out of the box with demo methods implemented in them.Testnet ready.Fully configurable.
 |  
						|  |  |  | 
| 
			| 
					
								| knightcoin 
								Full Member      Offline 
								Activity: 238 
								Merit: 100
								 
								Stand on the shoulders of giants
								
								
								
								
								
								   | 
								|  | March 22, 2014, 04:47:03 AM |  | 
 
 Thanks for that OP. |  
						| 
 |  |  | 
| 
			| 
					
								| mcaizgk2 (OP) 
								Member     Offline 
								Activity: 66 
								Merit: 47
								
								
								
								
								   | 
								|  | June 21, 2014, 07:30:41 PM |  | 
 
 Just a heads up, BitcoinLib  is now fully compatible and up-to-date with Bitcoin 0.9.2.https://github.com/GeorgeKimionis/BitcoinLib Features: - Fully compatible and up-to-date with Bitcoin 0.9.2 RPC API. - Design-by-contract, service-oriented architecture. - Strongly-typed structures for complex RPC requests and responses. - Implicit JSON casting for all RPC messages. - Extended methods for every-day scenarios where the built-in methods fall short. - Exposure of all RPC API's functionality as well as the extended methods through a single interface. - Fallback mechanism for timed-out RPC requests. - Custom RPC exceptions. - Supports all Bitcoin clones. - Can operate on unlimited daemons with a single library reference. - Litecoin integration included. - Each coin instance can be fully parametrized at run-time and implement its own constants. - Console test client with demo methods implemented in it. - Disconnected raw RPC connector included for quick'n'dirty debugging. - Testnet ready. - Fully configurable. |  
						|  |  |  | 
| 
			| 
					
								| Costner 
								Newbie    Offline 
								Activity: 49 
								Merit: 0
								
								
								
								
								   | 
								|  | June 23, 2014, 04:10:59 PM |  | 
 
 Thanks, I can play bitcoin api with c# now. |  
						|  |  |  | 
| 
			| 
					
								| itod 
								Legendary    Offline 
								Activity: 1988 
								Merit: 1077
								 
								Honey badger just does not care
								
								
								
								
								
								   | 
								|  | December 26, 2014, 10:33:07 PM |  | 
 
 Hi, I've done  bitcoind -reindex -txindex (as you instructed in Readme) on the blockchain, interrupted it once but let it eventually finish. Still can't get transactions witch don't belong to the wallet. Thought it was BitcoinLib problem, but turns out it is not, it works fine, getting same dreaded "Invalid or non-wallet transaction id (code -5)" from the bitcoind or Bitcoin-QT console for all transactions not belonging to the wallet.  Tried it on Windows only, should I try it on Linux? Do you have any suggestions what can be the problem? |  
						|  |  |  | 
| 
			| 
					
								| mcaizgk2 (OP) 
								Member     Offline 
								Activity: 66 
								Merit: 47
								
								
								
								
								   | 
								|  | December 26, 2014, 10:56:36 PMLast edit: December 27, 2014, 12:15:49 AM by mcaizgk2
 |  | 
 
 Hi, I've done  bitcoind -reindex -txindex (as you instructed in Readme) on the blockchain, interrupted it once but let it eventually finish. Still can't get transactions witch don't belong to the wallet. Thought it was BitcoinLib problem, but turns out it is not, it works fine, getting same dreaded "Invalid or non-wallet transaction id (code -5)" from the bitcoind or Bitcoin-QT console for all transactions not belonging to the wallet.  Tried it on Windows only, should I try it on Linux? Do you have any suggestions what can be the problem?You need to call GetRawTransaction() for non-wallet txs, as GetTransaction() only works for wallet txs. For example, to read the first tx from block: 336052  you need to call: GetRawTransactionResponse randomNonWalletTx = CoinService.GetRawTransaction("84f4fd2ded36e0b8c368a2ae9ac488b570dc03d265d8310a71c9049a7854e3e7", 1);Be aware that GetRawTransaction() will work for all txs except for the genesis block's coinbase tx, which is considered a special case. On a side note, the ITransactionResponse interface (found under: BitcoinLib.Responses.Bridges) serves as a bridge for GetTransaction() and GetRawTransaction(), allowing you to perform a check at run-time with IsInWalletTransaction() (found under: BitcoinLib.Services.RpcServices.RpcExtenderService) so you can then cast the response as the appropriate type, when necessary. |  
						|  |  |  | 
| 
			| 
					
								| itod 
								Legendary    Offline 
								Activity: 1988 
								Merit: 1077
								 
								Honey badger just does not care
								
								
								
								
								
								   | 
								|  | December 27, 2014, 09:34:02 AM |  | 
 
 Thanks, working like a charm.
 BTW, great library IMHO, best in C#, and I've tried many of them. Thanks for the code.
 |  
						|  |  |  | 
| 
			| 
					
								| TechnoBibble 
								Member     Offline 
								Activity: 179 
								Merit: 12
								
								
								
								
								   | 
								|  | December 27, 2014, 10:37:14 PM |  | 
 
 This is great Thank You |  
						|  |  |  | 
| 
			| 
					
								| DavinciJ15 | 
								|  | March 24, 2015, 07:18:09 PM |  | 
 
 Nice work I think you should get a donation send me a bitcoin address. |  
						|  |  |  | 
|  | 
| 
			| 
					
								| DavinciJ15 | 
								|  | March 24, 2015, 11:00:55 PM |  | 
 
 Cool I send you small donation.   I just started looking at your code today and I have one suggestion as I am going to make the changes my self to reuse your source code to access another RPC that's not exactly a Coin Service. In the RpcConnector object should not know of a Coin Service but instead know of a Json Web Service because that's what it's a wrapper for in my humble opinion.  Cheers! |  
						|  |  |  | 
| 
			| 
					
								| mcaizgk2 (OP) 
								Member     Offline 
								Activity: 66 
								Merit: 47
								
								
								
								
								   | 
								|  | March 24, 2015, 11:57:53 PM |  | 
 
 Cool I send you small donation.   I just started looking at your code today and I have one suggestion as I am going to make the changes my self to reuse your source code to access another RPC that's not exactly a Coin Service. In the RpcConnector object should not know of a Coin Service but instead know of a Json Web Service because that's what it's a wrapper for in my humble opinion.  Cheers!Thanks for your input. You can query the JSON RPC API directly via the disconnected (AKA "raw") RPC connector which can be found at:https://github.com/GeorgeKimionis/BitcoinLib/blob/master/CoinWrapper/RPC/Connector/RawRpcConnector.cs As you go on exploring the code you will find out the reasons that led me into ditching the raw JSON approach, which naturally came first in the very early versions of BitcoinLib, and move towards a much more robust, concrete and scalable, service-oriented approach. In the meantime I will be more than happy to see your take on that throughout your fork. |  
						|  |  |  | 
	|  |