Bitcoin Forum
May 24, 2024, 11:12:40 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
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)
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!