Bitcoin Forum
May 11, 2024, 04:37:06 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 4 5 6 [All]
  Print  
Author Topic: PHP Bitcoin Development Kit | v0.0.46_pre15 | Alpha | BitcoinDevKit.com  (Read 16218 times)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 10, 2012, 06:44:29 AM
Last edit: April 17, 2013, 03:09:32 AM by Xenland
 #1

The (BDKp) Bitcoin Development Kit for PHP is designed to wrap around Bitcoin and allow developers to call normal PHP functions instead of doing tiresome RPC->connect(username,password,port,https); RPC->Query(Agument) functions instead to of generating an address like this RPCObject->getnewaddress('labelhere'). One could use this library to simply query bitcoin by doing a bitcoin_get_new_address().

Sounds counter-intuitive but this opens up a world of possibilities for instance with native PHP functions wrapped around Bitcoin we can softly display errors produced by Bitcoin and allow the PHP developer decide what to do with the php/bitcoin error data. During development and testing we attack functions at every angle to produce every error possible per function and we have collected a vast knowledge of error combinations and have designed the wrapper to output errors that a dev could use their own logic around with ease.

Some other opportunities include allowing higher-level functions such as creating a authentication system with Bitcoins(with out having to pay to a Bitcoin address to prove you own the address) a developer could have a visitor authenticated with a Bitcoin address when the authentication is approved and the library was able to verify that the visitor does own that address the developer could then take that information and integrate their own sessions for their uses with out any worries of conflicts from this library.

Another great high-level function is the ability to create receipts, add/remove/save product ids to the receipt and save the amount due for that receipt before it is accepted as paid and this is all possible with out a database or saving to text files that can be altered. For receipts it uses just Bitcoin client for saving receipt data which is all verify-able checksums to prove
data integrity and to preventing an attacker from altering the receipt data and slipping past your logic code.


Open Source Code (AGPL v3.0)
Github: https://github.com/Xenland/Bitcoin-Development-Kit

BDKp Wiki
Click here to open wiki

Current API Commands
Click here to open API List


Features
*Doesn’t rely on databases.
*Doesn’t use decimals or floating points to do financial math.
*Checksums help circumvent tampering with receipt information.
*Stores the Amount due, Time-stamp Receipt was created, Time-stamp receipt was paid and confirmed in full, checksum, and an array of product/service ids per receipt.

Instructions - 1,2,3 steps!
1]Download library and extract the files into a folder where your php code can include/access it
2]Edit the config.php file to point towards a Bitcoin client. (PLEASE USE HTTPS CONNECTIONS)
3]Integrate your PHP code to use the functions/api from this library.
Note: Make sure you tell your Bitcoin client to only accept remote connections from the server that will be querying it. If you are hosting the Bitcoin client on the same server as the php running code you can have Bitcoin client just only accept the ip address of 127.0.0.1 which is your local address. To set the accepted remote ip address please refer to this link: https://en.bitcoin.it/wiki/Running_Bitcoin#Sample_Bitcoin.conf

Developer Support (Reasonable Prices)
If you need assistance from start to finish, from education on integration, to filling in the spaces that you don't know how to complete your self or don't trust your knowledge about the inter-workings of Bitcoin and need a fresh out side knowledgeable perspective I can provide reasonable prices to help with your project, company or just personal education on php and Bitcoin for a reasonable cost. Depending on your problem and how quickly it will be to fix the costs will be charged by the project unless I think I can help you within a few hours I will charge by the hour but still reasonable costs. If you need assistance contact me at skype CheaperInBitcoins or PM me on here for my email address and we will chat I am also available by phone aswell but please request that information through Personal Message thank you!
It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715445426
Hero Member
*
Offline Offline

Posts: 1715445426

View Profile Personal Message (Offline)

Ignore
1715445426
Reply with quote  #2

1715445426
Report to moderator
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 10, 2012, 08:15:03 AM
 #2

Updated licensing information.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 10, 2012, 08:18:14 AM
 #3

Updated Bitcoin Donation Address, Please donation as much as you feel this software is worth, All donations will be appreciated. Thank you!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 10, 2012, 08:34:10 AM
 #4

Updated: Added installation instructions.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 10, 2012, 01:39:50 PM
 #5

Updated: Add API call Bitcoin Generate Receipt() More information found here: https://github.com/Xenland/Bitcoin-Financial-Web-Development-Kit--BFWDK-/wiki/API-Call-Index
This receipt is designed to save information with out a database or saving files(and worrying about permissions), it uses Bitcoin labels and checksum(s). Don't forget to generate a random key for your checksum integrity Wink
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 14, 2012, 05:02:41 AM
 #6

Added Low-level API command: bitcoin_get_received_by_address(address, minimum_configurations)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 19, 2012, 05:52:48 AM
 #7

* Some changes in the future will be

Quote
(Changes to Generate receipt) Instead of having a monolithic structure, perhaps serialize JSON data that is checksumed is in order that way we can store arrays according to Bitcoin address instead of just 3 strict variables of data.

Reference: https://github.com/Xenland/Bitcoin-Financial-Web-Development-Kit--BFWDK-/wiki/%28%29-Planned-Features-%28Note-to-self-developers%29
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 20, 2012, 07:08:37 AM
Last edit: November 20, 2012, 09:44:15 AM by Xenland
 #8

Updates: Purchased a domain so others can easily access the github source code. I plan to get a simple one-page website going when possible.

------
Further Updates: Domain approved and owner-ship assigned! will release domain when appropriate.
caffeinewriter
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500



View Profile
November 20, 2012, 08:19:47 AM
 #9

Wow! Nice man! I may have to use this instead of my barebones bitpay api.

Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 20, 2012, 10:49:17 AM
 #10

Wow! Nice man! I may have to use this instead of my barebones bitpay api.

Cheers!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 20, 2012, 11:26:40 AM
 #11

Updates!

During testing of bitcoin_get_received_by_address() it was found that bitcoin will error upon invalid bitcoin address inputted, to save on https requests if its not set it will produce a software error, if it is set it will query bitcoin to verify if it is a valid address then continue on with the code.

BFWDK Acid test has been added
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 20, 2012, 12:00:45 PM
 #12

Updates:

Configuration file has been created to prevent devs having to open and mess with the functions file and to prevent the hassles of over-writing a configure file during an upgrade/update.

Dependencies are now put in the sub-folder dependencies
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 20, 2012, 02:45:47 PM
 #13

Updates:

I have changed the receipt saving system to save receipt data into json encoded string, check sumed to verify data integrity
You can save product ids as well too!

(Working on updating the API to reflect all changes as you read this...)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 20, 2012, 03:42:59 PM
 #14

Updates: When DNS propagates you can quickly find this project by going to Bitcoin Dev Kit . com Tell your friends, contribute, test, enjoy Smiley
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 21, 2012, 03:21:35 AM
 #15

*Planned Features Updated
I would like to provide (like satoshi dice) where a dev can track where the Bitcoins came from and the dev can decide what to do with that information them selves.

Resource Link: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/%28%29-Planned-Features-%28Notes-to-contributing-developers%29
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 23, 2012, 05:31:38 AM
 #16

I updated the links found in the Original post as when i renamed the project in github i was forced to rename all urls to reflect the change so if the links were not working before they work now.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
November 30, 2012, 05:41:52 PM
 #17

I'm looking into see about getting a demonstration website up and running to host all the tutorials, examples, demo, etc if you would like to donate a VPS that can run bitcoind + php5 please let me know Smiley
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 03:21:01 AM
Last edit: December 05, 2012, 03:44:22 AM by Xenland
 #18

The function bdk_get_receipt_information() has been added to the library, I'll be pushing the updates very shortly, the documentation for the function is already up!
https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Generate-Receipt
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 03:42:18 AM
 #19

The following functions have been added to the library, Updating the github page (Wiki and documentation still needs to reflect the code)
  • BDK Validate Address
  • BDK Verify Message
  • BDK List Transactions
  • BDK Get Received By Address
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 05, 2012, 03:57:20 AM
 #20

Xenland, I just found this.  THANK YOU.  I hate dealing with anything to do with JSON, but have managed to plod my way through it with the bitcoin php package made in 2011... this is awesome though!  I will certainly download it and give it a try...  Smiley
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 04:00:26 AM
Last edit: December 05, 2012, 04:22:33 AM by Xenland
 #21

Considering that all the basic functions are there and have multiple redundant security features in place its time for this library to experience some life and testing out in the field, this doesn’t mean production use is approved but I would appreciate those whom have some free time to try out a Bitcoin library that should be hassle free, I've publicly uploaded an Alpha Release candidate for BDKp Version 0.0.26

*Alpha RC1 Testing Responses...:
This Alpha RC1 is missing sending functions as required by the criteria of containing all basic functions -Thanks Sgt.Spike.

The download link to the release candidate is found here: https://github.com/downloads/Xenland/Bitcoin-Development-Kit/Bitcoin-Development-Kit-0-0-26-RC1-alpha.tar.gz

Signature  to download link from OpenGPG Key-id DBB861F9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQGcBAABAgAGBQJQvsWSAAoJEKTJxq7buGH5xygL/0bScDi7mms/NVMY4DDTl98c
1HDkp7U7wypLIPITgtMbSNICr/XPHLySPsJBcIMaLJhkDGb6gKBzLcggpXnAWoOo
SA1LvB/b33sv+xOp5c9vHSjosEVbi/z8sWeQqLXjzzRr6NJxYyPRwQ/qFL+Y6+jZ
aQv9/1nO/wW4txm+ghCx4DSgDche0+VrE7ciOYn4AZtM4LeZqyIeT9CXwhSG3bfX
5dVmiCkgGagB0WBrJJK2XzkRoFl5coAloT/Suyvu6ZJThUB626py4zbowslnPhbw
uFrNVFBkyvmE+iXWTMQTt5XT84zQIeTwYaL/IKDzkn+49hlyw+CHMTFBqbm340uU
X/ZwpTt03qIxv9XgpdWcB3G7ZKGulbdCFclOUX5wO9ziMx/DKQP/3G6XMcdOLath
QCA1HeeoFa+bcm3qg+82mcbxosSpL3kmzUI9tzP3uCQQl270pNQZ7ofEsqrh0N36
7g6B6/LAwzZrn+Czl6EvNpx4YCIx7rMdzmysxOqLLA==
=/Pni
-----END PGP SIGNATURE-----
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 04:02:45 AM
 #22

Xenland, I just found this.  THANK YOU.  I hate dealing with anything to do with JSON, but have managed to plod my way through it with the bitcoin php package made in 2011... this is awesome though!  I will certainly download it and give it a try...  Smiley

Ah glad to hear I'm not the only one!
Let me know what you think about it after you run some miles on it I'm sure some real-world testing will bring about some excellent feature ideas!
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 05, 2012, 04:07:53 AM
 #23

Question - can I send Bitcoins using this?  I didn't see anything mentioned about sending bitcoins anywhere in the API or Wiki... maybe I'm just blind.  Tongue  And on top of that, can I do sendmany transactions?
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 04:11:57 AM
 #24

Question - can I send Bitcoins using this?  I didn't see anything mentioned about sending bitcoins anywhere in the API or Wiki... maybe I'm just blind.  Tongue  And on top of that, can I do sendmany transactions?

Hmm it appears I did leave those out, darn it I thought I had all the basics... Glad your here Sgt.Spike, I'm adding these functions now Cheesy
Send many too!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 04:29:30 AM
Last edit: December 05, 2012, 06:44:37 AM by Xenland
 #25

Updates: Testing has shown that doing listtransactions "*" will output all transactions so bitcoin_list_transactions(account='' has been changed to account='*' to output all transactions by default, just like a developer would assume so when querying a list with no specified account.

This update will be shown in v0.0.30

**More Updates:
Wiki page updated: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-Get-Address-Label
Wiki page added: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-Validate-Address
Wiki page added: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-List-Transactions
Wiki page added: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-Get-Received-By-Address
Wiki page added: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-Verify-Message
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 05, 2012, 05:09:01 PM
 #26

Excellent!  One more question, and I can experiment to answer this myself if you like, but is it possible to send multiple amounts to the same address in the same sendmany transaction?  I know that was one barrier that the other PHP package I use couldn't deal with, because the array used Bitcoin addresses as the index.

EDIT:  Also, something.com is awesome.  Wink
Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
December 05, 2012, 05:14:22 PM
 #27

GPL and any similar and subsequent version are evil. Use MIT or BSD licenses instead.

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 06:16:15 PM
Last edit: December 05, 2012, 07:14:09 PM by Xenland
 #28

GPL and any similar and subsequent version are evil. Use MIT or BSD licenses instead.

You've shown me the error of my ways! -End sarcasm

Let me know if you need a different license and we will work it out. PM me please.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 05, 2012, 06:18:21 PM
Last edit: December 05, 2012, 06:31:28 PM by Xenland
 #29

Excellent!  One more question, and I can experiment to answer this myself if you like, but is it possible to send multiple amounts to the same address in the same sendmany transaction?  I know that was one barrier that the other PHP package I use couldn't deal with, because the array used Bitcoin addresses as the index.

EDIT:  Also, something.com is awesome.  Wink


I aim to make all the Bitcoin functions to work exactly as if you were querying them directly through RPC JSON.

v0.0.30 should be posted today with the sendfrom and sendmany low-level functions.
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 05, 2012, 06:53:58 PM
 #30

Excellent!  One more question, and I can experiment to answer this myself if you like, but is it possible to send multiple amounts to the same address in the same sendmany transaction?  I know that was one barrier that the other PHP package I use couldn't deal with, because the array used Bitcoin addresses as the index.

EDIT:  Also, something.com is awesome.  Wink


I aim to make all the Bitcoin functions to work exactly as if you were querying them directly through RPC JSON.

v0.0.30 should be posted today with the sendfrom and sendmany low-level functions.

I suppose it should work then.  I know it is possible, because I have seen sendmany transactions with multiple outputs to the same address before.  I'll give it a shot when you get the latest version up.  Smiley
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 06, 2012, 05:13:09 AM
 #31

https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Generate-Receipt
I updated this page to reflect the two parameter changes.

I just also updated this page to make the information appear more helpful more quickly.
https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Get-Receipt-Information

Updates:
Just updated this wiki page and completed it: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-Set-Tx-Fee
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 06, 2012, 09:28:05 PM
 #32

I wanted to get sendmany working today or even last night but It seems I must finish it up tomorrow, but sendfrom is completed and only tested once, so let me know how it works for you (and obviously don't "rely" on it just quite yet)
I'm uploading the updates now.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 08, 2012, 04:38:31 PM
 #33

Just pushed updates for the Bitcoin Send Many function, however I ran out of BTC to test, if someone wants to help test, I'd recommend sending some testing BTC to a fresh wallet and then using this library with sendmany/sendfrom, let me know what code you run and what errors you get (if any). Much is appreciated!
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 08, 2012, 06:22:59 PM
 #34

Thanks - hopefully I can test it this evening.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 08, 2012, 08:52:20 PM
 #35

Updates:
Added the function (considered completed and fully tested) called bdk_login_with_coin_address()
Its a function that does two steps into one, The first step is to output a randomize string (with some checksum/integrity and server signature data emedded into it aswell)
The user signs the string with their own Bitcoin address with the Bitcoin.org client. once signed they submit the signature and the original token data they had to sign (The token data could be embedded in a file string query if you prefer not to use a database). If the signature is valid to the Bitcoin address and the data is intact and the signature is still valid upon return then the user is authenticated. This function is just a mechanism for doing all the "authenticating" work for you, it dose not however add the "session" elements to your website that is for you to decide wheather its cookies, PHP sessions, database etc its up to you, this library will just make sure you properly authenticated the Bitcoin user correctly.

Wiki page for this function is going up soon!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 08, 2012, 09:38:53 PM
Last edit: December 08, 2012, 09:49:26 PM by Xenland
 #36

Updates

Version 0.0.31 Alpha released
Download Link for v0.0.31 Alpha
SHA256SUM ce030d1a9865cb0bcaa7b006d6dc428c37b24196ed560a6da6de3677321e0571
OpenGPG Key Id: DBB861F9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQGcBAABAgAGBQJQw7GdAAoJEKTJxq7buGH5y5sL/3HS6nLeJfx/nfPzi/5mkVLv
pAQ9911YoJWUDUEjKjrBP04/aslYpOzfE9SdEM+nOdSJE0P0shp2r41fiWUq41Zu
mqlzRITQtj8V9ZeTcrdKvxrXPcyJgxXwCJ0YbXUHB4F3yO+/5dQxUSSUBiaiq76i
zuozTcJHU6Hhlz4ZHX4/XPqtjBM8Cdld7NcizTKFGLgoxHuRL7pgnHAfunJprTfX
sGVCmlTRdWApmciDdsPW0mjWlPPK/g3Uz2O4IRaM8bJ8ChsxPD113swouudhSfef
XuSMSJmb7lQ8uCNZjLXMYWzCFIJeNXxM4aFos6X8ZSoUfDrsrOf4rkxs2Ywg0JmP
+YtGymbqHD3bRH/WQ/j14wIe55wRQkq/EckcEqWq5VeE7xJ0MLx2FFLnTeH5b7oO
/vNf3ot8Jszl8eSKVMpk4v+o1I6e5cHoxR55FvLyRLRWzW3sMkXwlTy0NalSo4Rc
Yw8+izdkvkCo8DVvP+2Xtw3KJd7F5b6k5jd0McHwbA==
=bzyZ
-----END PGP SIGNATURE-----



BitcoinDevKit.com
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 09, 2012, 07:25:00 AM
 #37

I have been freshing up on my FOSS licenses and I think I might release this library under LGPL instead of AGPL. Any thoughts? Conclusions? mishaps? Sounds like a great plan to me to benefit business and non-profit motivations.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 09, 2012, 08:56:48 PM
 #38

Actually for now I would like to stay with AGPL and if anyone needs different licensing please contact me, I would just like to do some surveys for those that plan on taking the library to the underground for their own uses and so the AGPL facilitates that process for me. In the future when I have enough survey data I plan to make it LGPL or even perhaps BSD/MIT but I need survey information and would like some compensation for my time so please be patient.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 11, 2012, 08:14:21 PM
Last edit: December 12, 2012, 09:57:32 PM by Xenland
 #39

How to use the BDKp for login authentication with out making contact to a database(A Free Tutorial - Usually a Donors Privilege)

Foreword:
Obviously the point of an authentication system is to "save" some data attached to that "account" that the user owns so although you'd probubly want a database to save user interaction information for your web site (or service) you can authenticate the visitor with their Bitcoin address (With out making contact with the database initially) and this is makes logins more powerful because for
one you need the Private Key to the Bitcoin address to even attempt to login which requires an attacker to gain access of your visitors computer/cellphone(Which are usually turned on/off constantly).
two there is no passwords stored on servers so this way if there is a database compromised users can feel safe to know that they don't have to change "ALL" their passwords for other websites that use the same pass that was compromised.
three this could add security to database compromise for sensitive information and provide control to the users, authenticated users can have their sensitive data encrypted to only open up with their private key this could force some business models to require user authorization before any data can be processed(This makes users feel safe online). Also if a business wanted the security of the encryption from database compromise but wanted to process data while the user is offline they can send their user data to a processing server that is separate from their website servers which would promote security for everyone. \

Okay so here is the example codes

Step 1
First off you need to ask the user what their Bitcoin address is. Once you have received that information you can then continue to "Step 1" of authenticating a user.
The first step requires you to enter the Bitcoin address into the function and it will spit out a string for the user to "Sign" with the in-putted Bitcoin address
Code:
$coin_auth_step1 = bdk_login_with_coin_address('1NaEAzo1SSzinaSodBicxA6ugd3edDzX7d', 1);

if($coin_auth_step1["return_status"] == 1){
 //Successfull function execution happened, we can safely be rest assured that we can echo to the user a string to sign
 echo "Sign the following string but copying and pasting it into the "Sign Message" dialog found in your Bitcoin client.<br/>";
 echo $coin_auth_step1["string_to_sign"];
}else{
 //Something happened tell the user to try again
 echo "Try again";
}


Step 2
The user should be given a single line input text box to input the signature. once the user has pasted in their signature and presses submit, the form submission should tell the next page what the original data was (The BDK library will check the checksum if the data has been broken/altered)

So in the submission page it should look like this (With form variable-values already in-putted)
Code:
$coin_auth_step2 =bdk_login_with_coin_address('1NaEAzo1SSzinaSodBicxA6ugd3edDzX7d', 2, 'H1toEU8fhdT5SrMWTKpsRi/2/S93o+zRfUAyfmVS7ew6PoOepO0VOCX5+XZJSo81LX7+I8VixTWjhAskqnCYeVM=', 'MTM1NDk5ODQxMHwyYzYzNTVmZWQxYzdmM2NjOGQyNTFiZDc4N2VlNWIzZDZkZGE2YmE1NjdmOTg3MDU0MWI0ODQ2OGIyN2QxYWIxfDU1NjUwMDM5MDgwYzdmY2Y2ZjJmNjlmZWJlMjM4YmIwODY4MTVkMGIxNmUyMmQyYjllZGI0OGZiOWFiZDIxOWYwZWFkNWQ0ZWMxYzBkZmRlODU5ZTk2ZmM5NGZmZDQ4NzkzOTJlYWMzNTI5ZGQwMzU1ZTQzNjI5YTA0MTBhNWY3YTljYmE0Y2QwY2Y3YTBhZjlkNjI4MzNiODk5YWM1NGNkZTZkMmI5ZmZiNWYxZTJiM2NiYzYxYzgxMmYyYTU5YWE5OTg5MTE3MWYyNTEzYmY0YWZjMzcyYzE2YTVkNzU5NjYxZDRkNGMyYTg5ZGI4NzcyNWQwZjU5ODVmMTQyMmZ8MU5hRUF6bzFTU3ppbmFTb2RCaWN4QTZ1Z2QzZWREelg3ZA');

if($coin_auth_step2["return_status"] == 1 && $coin_auth_step2["bitcoin_address_authenticated"] == 1){
 //Successfull authentication!
 echo "YOU OWN THAT ADDRESS :) Welcome back!";

 //This is were you execute your session functions.
}else{
 echo "FAILURE";
}
?>



NOTES: The user has 20 minutes to sign the request and submit to server before it is invalid
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 12, 2012, 09:56:22 PM
 #40

I forgot to mention that if your getting errors while trying to do the coin_authentication function; Keep in mind you have 20 minutes before the token to sign is invalid Wink

More Updates:
The BDKp library will be featured in the upcoming "Mining Farm" updates(targeted for release in January)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 13, 2012, 03:34:49 AM
 #41

Updates:

Added the following wiki page(completed): https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Generate-Random-String
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 13, 2012, 06:01:49 AM
 #42

Sorry Xenland, I just haven't had the time to devote to giving this a try yet.  Will try to do so soon!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 13, 2012, 08:01:40 AM
 #43

Sorry Xenland, I just haven't had the time to devote to giving this a try yet.  Will try to do so soon!

Do what you can Cheesy No rush, its the holidays mate!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 18, 2012, 04:58:30 AM
 #44

Selling my "BDKp Donation Package" on BitcoinMall.net for 0.5 Bitcoins (If you want to donate more just send more Bitcoins to the receipt address and much will be appreciated!)
Here is the link to the donation page: http://cheaperinbitcoins.com/product.php?id=64
The check out page will ask for your email and I will send you a download link just for you thanks Smiley
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
December 18, 2012, 08:07:25 AM
 #45

Selling my "BDKp Donation Package" on BitcoinMall.net for 0.5 Bitcoins (If you want to donate more just send more Bitcoins to the receipt address and much will be appreciated!)
Here is the link to the donation page: http://cheaperinbitcoins.com/product.php?id=64
The check out page will ask for your email and I will send you a download link just for you thanks Smiley
I tried... get a page not found error when I tried to click "Generate Receipt" to pay.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 19, 2012, 09:03:54 AM
Last edit: December 21, 2012, 12:32:08 AM by Xenland
 #46

Looks like the error is fixed. The problem was that the check out page was redirecting you to the reciept.php page when the correct page is receipt.php
Let me know if you have any issues now.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 22, 2012, 07:21:19 AM
 #47

The official website is undergoing a facelift should be less then 24 hours till completed (I will post noticed when functional)
http://bitcoindevkit.com
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 27, 2012, 06:45:54 AM
 #48

The website is taking longer then I thought but only because I require quality, The first tutorial is up for generating a bitcoin address, they are not too in-depth as its ment to intice developers to purchase the packages that come with tutorial videos and example scripts.
(Clear your cache if you've been to our site before it seems cache is sticking on some users browsers)
Tutorial Link: http://xenland.github.com/Bitcoin-Development-Kit/documentation/tutorials.html
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 27, 2012, 04:47:50 PM
 #49

First bug fix
*Login with Coin Address never returns successful even upon a successful run. This has been fixed and published in v0.0.32

Wiki Update
Login with Coin Address Wiki page is completed
https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Login-With-Coin-Address
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 27, 2012, 06:40:48 PM
 #50

Function Added
Bitcoin Get Transaction function has been added.

Wiki page is under construction: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/Bitcoin-Get-Transaction
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 28, 2012, 07:46:32 PM
 #51

The domain seems to not be redirecting properly and hasn’t been for the past 24+ hours I'm not sure why yet I'm looking into the issue for now just go to the following link to view the website: http://xenland.github.com/Bitcoin-Development-Kit/
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 29, 2012, 07:54:01 PM
 #52

Domain seems to be working again.

Also I switched to PHP hosting so I will start posting up the most up to date references on the website and then periodically sync the updates to git-hub for historical purposes.

http://BitcoinDevKit.com
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
December 31, 2012, 07:32:54 PM
 #53

BDK_login_with_coin_address() Fix: The return status code for Bitcoin client connection failed was missing and has replaced return status 100. Return_status 100 has been moved to 104. The wiki page has been updated accordingly: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Login-With-Coin-Address
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 03, 2013, 04:19:03 PM
 #54

BDK_login_with_coin_address() fix: In step one there is a return status of 101 and in step two there is a return status of 101 so to keep them seperate I have renamed return status of step 2 from 101 to 106.

Updates have been pushed to github and the wiki page is updated as well.

Wiki page: https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Login-With-Coin-Address
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 04, 2013, 02:30:19 AM
 #55

BDK login with coin address will not only display an encoded string it will look like the following...
Quote
The following is to verify proof of coin address ownership and in no way is a legally binding contract. |1357265407|b3b25bb40f27aa744c57f6d9ff1927f96217e42eb5ae40433cc011bc2c62ea59|455a2776a68285f1c5d48eed957a8b772cf060df914ac049335afd97a352cec135b2dcf73f8ef6b4cddbe4abf6a542c13c3d96035185d608de16b83465f518652eb63bb45a57d5a375394e1e1d789556586ab481d307722d226a1fd71fbb177d6608984e94eb0b0d972b337e176d45a22b77f094314290430a7169329c2e14be|15TraoPG7GFq6omJ7THJ3Zfyxz56uzzD2D
This is to prevent any ambiguities and to promote users to sign only Clear and concise messages.

This update will be included in version number 0.0.40
DPony13
Full Member
***
Offline Offline

Activity: 126
Merit: 100



View Profile
January 04, 2013, 03:00:35 AM
 #56

Can we have a test site using the script?

EndTheFed123, if you had just taken the money it wouldn't have ended like this Sad
BTW this hasn't been the real DPony13 since he "came back", I just hacked this account, SirLolicon is the real DPony13 I think.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 05, 2013, 07:13:16 PM
Last edit: January 05, 2013, 10:40:17 PM by Xenland
 #57


Actually I think I found a VPS I could use to feature this library (and get it off the ground). Sit tight everyone examples on the wayyyyy!!

UPDATES
While setting up my VPS for the BDK library I noticed that the includes doesn’t work so smoothly (compared to my local dev computer), I changed it thinking others might have had the same issues.
Changes have been updated to version 0.0.39 and are already published



UPDATES:
*(Soon to be added in 0.0.40) Added function bdk_start_session_receipt() (To help assist users with a consistent proven state full method for storing product ids with out a database.)
*(Soon to be added in 0.0.40)  bdk_get_session_receipt_information() (Retrieve information based on the given information -- Mostly used for displaying items in the shopping cart)
*(Soon to be added in 0.0.40)  bdk_add_to_session_receipt() (To add product ids to the state full function)
*(Soon to be added in 0.0.40) bdk_remove_from_session_receipt() (To remove product ids from the state full function)
*(Soon to be added in 0.0.40) bdk_checkout_session_receipt() (To convert the session receipt information to be processed into the bdk_generate_receipt() function
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 06, 2013, 05:49:15 AM
 #58

NOTE TO SELF AND OTHERS: it seems that Bitcoin wasn’t accepting credentials from 127.0.0.1 form xenlands VPS and the solution was to set the ip address to the external address, but also to config Bitcoin to ONLY allow from that external address.... Odd.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 06, 2013, 06:17:48 AM
 #59

Note: I've included the time it took me to make the entire page for that particular example (including start to finish with testing and lite pen-testing)

Entire Examples List: http://www.bitcoindevkit.com/examples.php

EXAMPLES LIST DESCRIPTIONS (More to come as I make more examples)
I tested the script with out the 5 second sleep on it and its almost instantly pops up the address.
(Total Hours Accumulated: 1) Example1: Generate a new address: http://www.bitcoindevkit.com/examples/example1.php

(Total Hours Accumulated: 2.5) Example2: validate an address: http://www.bitcoindevkit.com/examples/example2.php


Coming Soon
*Shopping Cart Example (Total Hours Accumulated: 3)
*Login With Bitcoin Address/Verify Address/Edit account with address verification/etc
*
Darkneo
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
January 06, 2013, 09:06:32 AM
 #60

I was getting ready to build my own function set because yours wasn't connecting to bitcoind for some odd reason while my personal test connection was having no problem, but I'm gonna try your updated script first

Tips are always appreciated 1Gr1MZuqpSZJbApsgpMnHFhKHkXUdHqYRe
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 06, 2013, 10:52:51 PM
 #61

I was getting ready to build my own function set because yours wasn't connecting to bitcoind for some odd reason while my personal test connection was having no problem, but I'm gonna try your updated script first

I was having a problem with my public vps on my script and the issue seemed to be in jsonRPCClient.php as something was going wrong with credentials(The solution in my case was to have the BDK connect through the public ip address). Was this the similar issue to yours? I'd be happy to see your successful code and merge it into the scripts if you don't mind.
Darkneo
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
January 06, 2013, 11:59:40 PM
Last edit: January 07, 2013, 02:21:22 AM by Darkneo
 #62

What is the best you for you to keep in contact Xenland?

Basically, while trying to open a test connection using the bitcoin_open_connection() function, the array that gets returned is -1 and Null.

While I am able to retrieve the full getinfo using the jsonRPCClient.php file that was included in your package.

In both cases, I was connecting through the public domain name and not 127.0.0.1.

Edit: I just uploaded the new library file and changed nothing else at all, I have a successful connection now through your file.

Tips are always appreciated 1Gr1MZuqpSZJbApsgpMnHFhKHkXUdHqYRe
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 07, 2013, 01:27:12 AM
 #63

What is the best you for you to keep in contact Zenland?

Basically, while trying to open a test connection using the bitcoin_open_connection() function, the array that gets returned is -1 and Null.

While I am able to retrieve the full getinfo using the jsonRPCClient.php file that was included in your package.

In both cases, I was connecting through the public domain name and not 127.0.0.1.

Edit: I just uploaded the new library file and changed nothing else at all, I have a successful connection now through your file.

You can always contact me by skype or email.

Glad to hear it is working now, Cheers mate!
Darkneo
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
January 07, 2013, 02:22:57 AM
 #64

I'll continue to use it and see how it does in my development environment. I think I could do a lot with it

Tips are always appreciated 1Gr1MZuqpSZJbApsgpMnHFhKHkXUdHqYRe
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 07, 2013, 10:24:18 AM
 #65

 I uploaded v0.0.40 (Comes with the shopping cart functions)



Still working on the "remove product id from cart" function will come in the future.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 08, 2013, 09:37:35 PM
 #66

I've uploaded example #3 it demonstrates the bdk_prove_coin_ownership() function Previously known as: bdk_login_with_coin_address() function

Try it out let me know what you think.
http://www.bitcoindevkit.com/examples/example3.php
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 08, 2013, 09:54:43 PM
 #67

Security issue in bdk_prove_coin_ownership() has been found.
It only recognizes when the bitcoin_validate_message() successfully runs but it didn't recognize weather the message is valid or not, in version 0.0.42 this is updated and published.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 09, 2013, 08:21:31 PM
Last edit: January 09, 2013, 11:39:28 PM by Xenland
 #68

Some major fixes done to bdk_verify_message() (Mostly helps consistency and more accurate checking -- before a lot of messages were coming out invalid when they were infact valid)

The other major fix is done in bdk_prove_coin_ownership() it now uses the updated verify message fixes and now it will sha256 a message to compare against with the signature (Look in the code to see what I mean exactly).

Alpha Release Candidate v0.0.43
http://bitcoindevkit.com/dl/v0_0_43/bdk_v0_0_43_aRC1.tar.bz
SHA256SUM: 1a6a16a2879cbe4f96d0afb0c723c3f839cb63c79c31c772b39a469c0c251f81

http://bitcoindevkit.com/dl/v0_0_43/bdk_v0_0_43_aRC1.zip
SHA256SUM: 1a6a16a2879cbe4f96d0afb0c723c3f839cb63c79c31c772b39a469c0c251f81


Report to github for bug reports


UPDATES: Goals and road map posted http://www.bitcoindevkit.com/aboutus/goals.php
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 12, 2013, 09:06:29 AM
Last edit: January 12, 2013, 10:18:44 AM by Xenland
 #69

An feature update was pushed in v0.0.44 where a generated receipt can contain any additional information visit the wiki page to see the changes, code is already published as well. https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Generate-Receipt

For those who don't already know this library only relies on Bitcoin and nothing else(referring to databases) so with that in mind we use the "labels" that the Bitcoin client provides as a storage database and with the new updates one could create a storable receipt like the following

Quote
{
    "checksum": "ab37bc6866e253c5ce3ba7e7c91b7299140630afb7197e38e5a63f1e8b8b4f86",
    "timestamp_generated": 1357981122,
    "amount_due_in_satoshi": 100000000,
    "products_in_receipt": [
        "1"
    ],
    "additional_info": {
        "email": "joe@joe.com",
        "refundAddress": "16oLFeSgUPFB1vm3LZuXHTXztyt5mDMsJV"
    }
}

UPDATES: just opened up shop, I'm testing out the BDK library in a real life setting and am selling some products I got for cheap (I will by posting up photos by me instead of the ones taken from the internet by tomorrow, its too late right now for me to finish). http://www.bitcoindevkit.com/shop/shop.php
Ascension
Sr. Member
****
Offline Offline

Activity: 457
Merit: 250



View Profile
January 16, 2013, 07:41:41 PM
 #70

Has anyone been able to use this with blockchain.info API? I am having issues using the BDK bitcoin_get_received_by_address().

I am getting a Return Status Error of 102. I have isolated it to it being a an invalid address (even though the address is valid).

I think the issue might be that the blockchain.info API returns a JSON Object for validateaddress and I do not see anything in the BDK that converts the JSON Object to a PHP Array?
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
January 17, 2013, 05:10:03 AM
 #71

Has anyone been able to use this with blockchain.info API? I am having issues using the BDK bitcoin_get_received_by_address().

I am getting a Return Status Error of 102. I have isolated it to it being a an invalid address (even though the address is valid).

I think the issue might be that the blockchain.info API returns a JSON Object for validateaddress and I do not see anything in the BDK that converts the JSON Object to a PHP Array?

Get Received By Address only works if you have the private key in your Bitcoin client. The BDK is aimed at making Bitcoin client easier to communicate with and to intuitively apply math with out worries of precision or rounding issues.

How ever if your using the Blockchain.info api in php you would want to use the "json_decode()" function and then you can use the php array that is returned with the BDK library.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
February 19, 2013, 10:27:41 PM
 #72

More updates to come in late March/Early April.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 15, 2013, 10:40:04 PM
 #73

The website has been updated and there should be absolutely no broken links and no more "redirects to HTML pages".

http://BitcoinDevKit.com

Also I purchased http://BitcoinWebKit.com and in the future that BitcoinWebKit.com domain will redirect to the PHP BDK and the Bitcoindevkit.com will redirec to a "centeral" selection website to pick which Bitcoin Dev Kit language you would like (BDK for C++, BDK for Qt, BDK for JS, BDK for Jquery, etc )
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 15, 2013, 11:29:36 PM
 #74

I pushed dev version v0.0.45 which completes the function bitcoin_list_transactions();

https://github.com/Xenland/Bitcoin-Development-Kit/commit/2289a84843c001f33f76ac54e5e70c6c79801178
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 16, 2013, 03:16:03 AM
 #75

When the BDK for PHP is completed (as in beta) and pre-orders for videos/tutorial/scripts pack is available, upon pre-ordering (and when purchasing is available), when payment is received you will get a Bitcoin digital receipt for your pre-order.
You will tangibly receive a "Message", "signature", and "Bitcoin address" so you have verifiable proof that you have purchased the digital download pack of goodies. This Bitcoin address to verify the signature/message against will be known as the official BDK for php address and thus will be "static"(non-changing). This way if by some means that the "purchase list" in the web site database is lost or destroyed then the customers can give me their signatures/messages and I will verify against the Bitcoin address and then validate the amount of Bitcoins received.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 16, 2013, 04:04:03 AM
 #76

I pushed development version v0.0.46_pre2
Send many
has been tested and is working on my end. let me know if you have any problems
https://github.com/Xenland/Bitcoin-Development-Kit/commit/4bc77f638d8838367f81fbf48cc9676fec103712
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 16, 2013, 12:59:37 PM
Last edit: March 16, 2013, 05:11:23 PM by Xenland
 #77

https://github.com/Xenland/Bitcoin-Development-Kit/wiki/%5BTutorial%5D-Getting-Started

Helps you mates getting started with programming with the BDK for PHP


Edited Updates:
Removed the file dependencies.tar.gz from the repo.

More Edited Updates:
It is recommended according to the getting started page to run your Bitcoin client with -checklevel=6.

EVEN MORE! UPDATES:
http://www.bitcoindevkit.com/examples.php
Examples are back online with version 0.8.0


Heads updates:
The BDK advanced scripts (purchasable by pre-order) will include examples of BDK + Ajax using Jquery.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 17, 2013, 03:19:05 PM
 #78

For those whom have been waiting I'm working on the tutorials for Windows 7 + XAMPP + BDK + Bitcoin these tutorials will be available for free online with super low quality video and medium quality sound, if you want to see whats going on you can purchase any "pack" that advertises "Presentation Videos" in the pricing options obviously upon purchase you get the full resolution of videos and the highest of quality of sound. You will receive only presentation videos that correspond to the scripts that are included, meaning if you purchase the "Donor" pack you will receive only the videos that go with the "Simple Example Scripts" that come with it and to give a comparison if you purchased the "Enterprise" pack you will receive all the videos because it comes with the simple & advanced scripts.

I might also note that it won't be just Windows I will be covering, You will also receive both Windows AND Linux video tutorials, as it is recommended to run a Bitcoin website under Linux anyways, but Windows has the perks of learning something new more quickly.

Pre Purchase will be available after the 24th of this month of March.
crazy_rabbit
Legendary
*
Offline Offline

Activity: 1204
Merit: 1001


RUM AND CARROTS: A PIRATE LIFE FOR ME


View Profile
March 17, 2013, 04:43:16 PM
 #79

I will be watching this!

more or less retired.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 17, 2013, 06:05:09 PM
 #80

I will be watching this!

Good man Grin
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 18, 2013, 02:57:38 AM
 #81

https://github.com/Xenland/Bitcoin-Development-Kit/blob/master/BDKp_library.php
has been updated to better work work with windows (Although not recommended to publish anything serious on a windows server)

https://github.com/Xenland/Bitcoin-Development-Kit/commit/b986e9f33718806b7af44c2963b69091dd209bec
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 19, 2013, 03:50:46 AM
Last edit: March 19, 2013, 04:39:26 PM by Xenland
 #82

Getting started with BDK for PHP on Windows 7 (XAMPP)
http://youtu.be/cAA0-95hQzE


These videos are to help me gather research data to provide quality videos for the purchasable packs Cheesy
ABitBack
Hero Member
*****
Offline Offline

Activity: 524
Merit: 502



View Profile
March 19, 2013, 12:39:23 PM
 #83

The website has been updated and there should be absolutely no broken links and no more "redirects to HTML pages".

Not quite, the logo leads to http://bitcoindevkit.com/index.html not .php (404)

Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 19, 2013, 03:34:28 PM
 #84

The website has been updated and there should be absolutely no broken links and no more "redirects to HTML pages".

Not quite, the logo leads to http://bitcoindevkit.com/index.html not .php (404)

Thanks fixing it Cheesy
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
March 20, 2013, 07:55:10 PM
 #85

The video wasn’t that popular (in views) so I'll have to guess that the scripts are more a necessity then videos, but that goes with out saying that videos are helpful complement to scripts.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 09, 2013, 09:39:48 PM
 #86

It seems my donated server is down I'm purchasing new servers it should be back up in a bit.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 12, 2013, 03:31:21 AM
 #87

Server is back up and for the downtime I've decided to give away "complementary scripts" for each example. The first free script is example one cheers mates!
http://bitcoindevkit.com/examples/example1.php
DarkPunk
Member
**
Offline Offline

Activity: 182
Merit: 10



View Profile
April 12, 2013, 03:39:59 AM
 #88

I'm saddened by the fact developers on here need RPC calls compiled into a fancy package for them.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 12, 2013, 06:56:44 AM
Last edit: April 13, 2013, 07:28:03 AM by Xenland
 #89

I'm saddened by the fact developers on here need RPC calls compiled into a fancy package for them.

There's nothing fancy about it. It has a function.

For example encouraging integer math, but most importantly error codes are already built in and caught, no need to reinvent the wheel. The reason why I built it is because I kept rewriting PHP functions per client when i ended up writing the same thing over and over but not only that... The way RPC error handling happens in PHP is if you don't catch the "known" error the whole page wont render at all so that was another major issue.. Which was to catch all the errors instead of rendering a blank page; With the BDK the page actually computes/renders and spits out an error status code instead (which the developer can actually choose to display professional looking messages instead of error codes or blank pages).

Now if this was a C or C++ library I'd agree with you, but in PHP there is some issues that I have personally faceplamed the solutions some of these newbie developers are passing around, so in a way its meant to encourage less open holes for hackers to exploit due to the ignorance from newbie programmers. If you would like to reinvent the wheel I would say that's probably a waste of time unless your improving it... which in that case there should be some kind of record to "improve" upon or nobody will get any where as a "whole" and will just make the same mistakes over and over(Hence another reason to start this project and continue it is record keeping of failures of Bitcoin + PHP integration).

Well that's the end of my rant.
DarkPunk
Member
**
Offline Offline

Activity: 182
Merit: 10



View Profile
April 12, 2013, 07:16:26 AM
 #90

Looking over your sourcecode.

I have to ask, doesn't it make more sense to open the connection once as a public object when the library is included, instead of every time a function is called?  For small projects it's not that big a deal, but if someone were to use your kit for a high-traffic site, those are just extra RPC calls that could be cut back on.

Food for thought.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 12, 2013, 07:22:27 AM
 #91

I personally think it would be quite more difficult becuase then you'd have to create an "object" then call your function; why make everything so complex for less than 20 cpu cycles saved here?

As far as I know JSON rpc is usually HTTP type requests by default so no there shouldn't be any CPU cycles saved here just more typing and confusion of "object handlers". if I could enable TCP mode for sure, I'd implement the global "object handling" feature infact I'm writing that down in the "TO DO" list "Research how to enable TCP mode in the BDKs' current JSON library".

https://github.com/Xenland/Bitcoin-Development-Kit/wiki/%28%29-To-Do-Features-%28Notes-to-contributing-developers%29
DarkPunk
Member
**
Offline Offline

Activity: 182
Merit: 10



View Profile
April 12, 2013, 07:29:42 AM
 #92

I personally think it would be quite more difficult becuase then you'd have to create an "object" then call a function why make everything so complex for less than 20 cpu cycles saved here?

As far as I know JSON rpc is usually HTTP type requests by default so no there shouldn't be any CPU cycles saved here just more typing and confusing of "object handlers" if I could enable TCP mode for sure, I'd implement the global "object handling" feature infact I'm writing that down in the "TO DO" list "Research how to enable TCP mode in the BDKs' current JSON library".

https://github.com/Xenland/Bitcoin-Development-Kit/wiki/%28%29-To-Do-Features-%28Notes-to-contributing-developers%29

I'm not talking about CPU cycles, I'm concerned about network traffic.  Not everyone is going to have their RPC server hosted on the same machine as their site.  I'm willing to best most actually go the 3rd-party route, and outsource their RPC server.

As for "creating an object", the jsonRPC library already returns the connection as a class object.  All you need to do is have it set as public at the top of the script (after including jsonRPCClient.php and config.php, of course).
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 12, 2013, 08:12:52 AM
Last edit: April 13, 2013, 07:30:29 AM by Xenland
 #93

I'm not talking about CPU cycles, I'm concerned about network traffic.  Not everyone is going to have their RPC server hosted on the same machine as their site.  I'm willing to best most actually go the 3rd-party route, and outsource their RPC server.
I'm assuming your saying that doing a global connection object would be less networking and more efficient but it wouldn't be for a few reasons:

Unless I force developers to "prerender" their data (like obstart and obflush) for example "call" all Bitcoin queries in one swoop instead of "as needed on the page" basis, the reasoning is JSONRPC libraries for php are not "socket" based, only http so even forcing them to prerender at this point is just making things difficult and confusing for the gain of nothing.

If i had socket based json php library this could work and with out forcing pre render scenario too, so I'll say it again I agree with you it just needs to be done right, I can't just set the connection object to global and expect HTTP requests spanned out in different areas of a logical PHP to execute in a continuous stream like TCP and expect to get greater networking efficency... nope not with out TCP sockets or a consistent stream.

Also if a user is executing more than 5 bitcoin commands in 1 second you probably should hire a developer to develop a larger scale system or don't use BDKphp for cronjob type tasks use python or C++ or some other choice of language built for that sort of thing.

As for "creating an object", the jsonRPC library already returns the connection as a class object.  All you need to do is have it set as public at the top of the script (after including jsonRPCClient.php and config.php, of course).


See the following...


Code:
				//Open connection
try{
$output["connection"] = new jsonRPCClient($btcclient["https"].'://'.$btcclient["user"].':'.$btcclient["pass"].'@'.$btcclient["host"].':'.$btcclient["port"]);
}catch(Exception $e){
$output["return_status"] = -1;
$output["connection"] = null;
}

if($output["connection"] != null && $output["connection"] != false){
                                        //Keep running multiple bitcoin commands
                                        for($i=0;$i<100;$i++){
//Connection successful run query to Bitcoin
//Yes BTC client has been successfully opened
//Attempt to query a new address....
$tmp_new_address = '';
try{
$tmp_new_address = $new_btcclient_connection["connection"]->getnewaddress($new_address_label);
}catch(Exception $e){
$tmp_new_address = '';
}


$generated_address_is_valid = bitcoin_validate_address($tmp_new_address);
if($generated_address_is_valid["isvalid"] == 1){
echo "new address".$tmp_new_address;

}else{
echo "FAILED";
}
                                        }

}

In comparison to just doing the following...
Code:
include_once("./BDKp_library.php");
$new_address_details = bitcoin_generate_new_address();

Now if your saying that setting the connection script to global and doing JSON commands one right after another instantaneously will save networking resources then you should look into the JSON libraries for PHP more closely on how each call is made I guarantee you none of them have a queuing system that say "Hey is ther another command coming so I can finally send this HTTP request?" that would bottle neck things.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 12, 2013, 09:09:40 PM
 #94

Did I mention a receipt system that holds product ids and does data verification through check sums WITHOUT a database?
https://github.com/Xenland/Bitcoin-Development-Kit/wiki/BDK-Generate-Receipt Smiley
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 13, 2013, 07:23:58 AM
Last edit: April 13, 2013, 07:41:50 AM by Xenland
 #95

Upgraded the Bitcoin client to 0.8.1, to the new hosting server at BitcoinDevKit.com and now the examples work Wink (I only tested example #1 for the upgrade)
http://www.bitcoindevkit.com/examples/example1.php


Edit Update:
Looks like all the examples work!

Some updates coming later today are:
*A purchasable example scripts for example 1
comes with 3 scripts(Not counting the complementary script and the "with out comments" versions of these scripts)
One script is an advanced script
The other two are simpler usages but highly informative.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 16, 2013, 11:00:58 PM
 #96

Okay so I have updated the website, fixed some spelling errors, and uploaded the first purchasable example script pack for example 1. It's nothing too fancy but after all you can't display a whole lot with "Generating a Bitcoin address". So the idea is I sell a few examples, you let me know how you like or dislike them all constructive criticism is welcomed(although sometimes I'm not sure how to respond to some of these criticisms around here sometimes hehe). Anyways if you want to know how to properly use the "Bitcoin Generate Address function" with the BDK php library then go to the following link
http://www.bitcoindevkit.com/examples/example1.php

scroll down and click "unlock practical source code" and purchase your first example scripts for 0.05 BTC ($3 at current price of $68/1Bitcoin)

*Future updates for scripts
---Example scripts for every API function of the Bitcoin/BDK library
---Advanced scripts for the higher level functions that will include fully deployable demos complete with everything you would expect HTML, PHP, BDKphp, and Bitcoin

If you even feel the need that you liked my library and don't need the source code examples and feel like donating, just purchase the scripts instead it helps with testing and you know your Bitcoins "are" going some where. Thanks for everyone supporting me and contributing, We as a BTC community are doing great, lets' show'em what "The People" really means!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 16, 2013, 11:10:44 PM
 #97

Also I'm moving from apache2 to ngix so if you can't reach the website don't worry your purchase is safe as long as you save the url link of your receipt you'll be able to download it once the website is back up.
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
April 16, 2013, 11:14:08 PM
 #98

I'm saddened by the fact developers on here need RPC calls compiled into a fancy package for them.
Why?  Do people have to be experts in programming to program a Bitcoin website?  I would say yes, if they are handling other people's Bitcoins for them, but otherwise, why not develop tools that make working with Bitcoin easier?

I am thankful that Xenland has taken it up on himself to develop this set of tools.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 16, 2013, 11:57:33 PM
 #99

The NGinx transfer has been completed the examples work and the script shop (Unlock practical scripts) seem to be working on my end, let me know if any problems arise! and I think I like NGinx now that I've gotten use to it coming from a apache2 background.


I'm saddened by the fact developers on here need RPC calls compiled into a fancy package for them.
Why?  Do people have to be experts in programming to program a Bitcoin website?  I would say yes, if they are handling other people's Bitcoins for them, but otherwise, why not develop tools that make working with Bitcoin easier?

I am thankful that Xenland has taken it up on himself to develop this set of tools.

SgtSpike Gets it!  Grin
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 17, 2013, 02:59:31 AM
 #100

It seems Bitcoin is constantly shutting down when it hits the memory limit (512mb) I think its becuase it is still syncing, I hope there won't be any problems after the full first sync happens.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 17, 2013, 10:39:02 PM
 #101

The first sync is almost done I say one more day it needs about 10,000 more blocks to finish.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 18, 2013, 11:55:35 AM
 #102

Okay full sync has occurred, Bitcoin should be fully accessable including the example pages and the "unlock practical code" page you my now purchase your first script at http://bitcoindevkit.com/examples/example1.php
and scrolling down and clicking "Show Practical Source Code" under the "Unlock Practical Source Code" pages.
otter
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
April 18, 2013, 11:01:51 PM
 #103

Cool man lots of features it's missing but it's looking great so far.

It's true it's not hard to develop with bitcoin without a dev kit but it's nice to see that someone is taking the time to properly handle all possible requests and responses.  Once every API call is added it won't be "why do I need this?" it will be "why wouldn't you use this?"

Once every API call is added I could see the higher level functions growing into something very useful as well.

You can count on a donation from me once it hits version one.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 19, 2013, 03:30:18 AM
 #104

Cool man lots of features it's missing but it's looking great so far.

It's true it's not hard to develop with bitcoin without a dev kit but it's nice to see that someone is taking the time to properly handle all possible requests and responses.  Once every API call is added it won't be "why do I need this?" it will be "why wouldn't you use this?"

Once every API call is added I could see the higher level functions growing into something very useful as well.

You can count on a donation from me once it hits version one.

Great to hear these inspiring words Keeps me going!!


I'd also like to announce that I've been working on a project/contract that involves BTC and LTC and utilizes a variant of the BDK for php well it seems its difficult to use multiple coins with the BDK even if they are the same API so I'm working out the details but the next updates should expect to have concurrency built into it some how.
otter
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
April 19, 2013, 01:17:37 PM
 #105

Great to hear these inspiring words Keeps me going!!


I'd also like to announce that I've been working on a project/contract that involves BTC and LTC and utilizes a variant of the BDK for php well it seems its difficult to use multiple coins with the BDK even if they are the same API so I'm working out the details but the next updates should expect to have concurrency built into it some how.

That's great news!  Easy LTC integration to existing BTC applications is the way to go at the moment.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 23, 2013, 10:01:57 AM
 #106

Okay so finally i got bitcoin client to run stable in the background so now you should be able to purchase the scripts the url again is
http://www.bitcoindevkit.com/examples/example1.php
scroll down and click "show practical code" only costs you 0.05 BTC for 3 scripts (alt versions of with out comments so you don't need to waste time to delete the comments everytime you need to copy and paste and we also give you "with comments" too so its like about 6 scripts)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
April 26, 2013, 03:56:32 AM
 #107

I want to get my scripts shop tested more and post up more script examples so I lowered the cost to 0.01 Bitcoins for 3 scripts (6 scripts total) in one download. Heck if you don't need the scripts and want to donate just purchase the scripts and delete'em. All purchases help me collect data about using Bitcoin with websites, It shows that you want to support the project, and all data compiled together helps me produce a better library.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
May 05, 2013, 02:14:11 PM
 #108

SPOTLIGHT Looks like someone generously added the bitcoin_get_balance function Cheesy
which i have added to the official library after review.

https://github.com/SteButler/Bitcoin-Development-Kit/commit/0e8e4857857193ff3662bc1bb1acebfae86c977f

Thanks mate!
SgtSpike
Legendary
*
Offline Offline

Activity: 1400
Merit: 1005



View Profile
June 10, 2013, 10:17:22 PM
 #109

Question Xenland...  Is the data from the blockchain stored in SQL tables of any kind from this?  Or does it just directly interact with the bitcoind process via RPC commands?  Specifically, I am wondering if the Bitcoin transactions for each block would be available to query from a SQL database or not.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
June 11, 2013, 06:19:10 PM
Last edit: July 01, 2013, 05:46:16 AM by Xenland
 #110

Question Xenland...  Is the data from the blockchain stored in SQL tables of any kind from this?  Or does it just directly interact with the bitcoind process via RPC commands?  Specifically, I am wondering if the Bitcoin transactions for each block would be available to query from a SQL database or not.

The BDK for php currently does not have any plans to integrate any type of databases of anykind until a non-db working BDk version has been tested and debugged. Then once officially stable, we look towards options of integration of databases and properly informing the user on some security implications that could be involved with using a db with the BDK. As of now the only storate there is for the BDK is receipts and that uses BTC address labels in json format (with sha256/checksums for data verification)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
July 01, 2013, 05:48:22 AM
 #111

Just pinging in for the lurkers, I will be resuming progress for the BDK website and library improvements in Aug 2013. Along with kicking the preorder page back into gear.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
July 01, 2013, 08:41:49 PM
 #112

While you wait for updates and further progress of the BDK library: I have started the scripts for sale back up again go to the following link and then scroll down and click "Show practical source" and you will be able to purchase some scripts for 0.01 BTC Cheesy enjoy http://bitcoindevkit.com/examples/example1.php
Pages: 1 2 3 4 5 6 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!