Bitcoin Forum
November 16, 2024, 11:20:05 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Creating a simple Bitcoin to ease education to new developers into Bitcoin  (Read 1066 times)
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 17, 2012, 09:53:27 AM
 #1

I believe that Bitcoins needs more educated developers, and so I'm on a quest to figure this thing out and educate others and perhaps one day do some online schooling to educate developers of any language on how to assess Bitcoin for their projects and to do that I believe a developer should see a "Mini-Bitcoin" in action with sourcedoe packaged with it(Not to be confused with Lightweight client).

how would I go about making a Mini-Bitcoin client example that demonstrates how to sent Bitcoins from one address to the other with out explaining the confusing proof of work or "scripts" involved just to keep the example simple for demonstrating purposes.

To explain further, I guess i would need some simple hashing functions for generating a Makeshift Bitcoin address, as well as some networking functions, but how could I convey confirming transactions with blocks but with out TOO much complicated algorithms involved.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
November 17, 2012, 10:05:06 AM
 #2

Wouldn't it just be simplest to show examples of using the RPC to send bitcoins (if you wanted to also show generating an address first then this would amount to two or maybe three RPC commands)?

I am a little confused as to exactly what kind of developers you are aiming at - ones that will just use bitcoind or ones that are going to write their own alt-chain (from the recent appearance of new alt-coins I think the latter kind of devs need no help at all)?

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 17, 2012, 10:10:21 AM
 #3

Wouldn't it just be simplest to show examples of using the RPC to send bitcoins (if you wanted to also show generating an address first then this would amount to two or maybe three RPC commands)?

That's slightly different and seems more on the the side of a basic explanation on how to generate an address, If I want to educate Dev-Monkeys enough about Bitcoin so when they are hired to integrate it into a company they will be able to make up their own minds what kind of security pre-cautions they need to have in place for their projects scince every projects level of security will vary greatly I can't just say "This is how you generate an address, send money and receive money.... Now go forth my dev monkeys and don't get hacked!"

I hope this explanation conveys what im aiming for...
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
November 17, 2012, 10:16:41 AM
 #4

Hmm... still not quite clear as IMHO getting hacked is really nothing to do with your (lack of) understanding about Bitcoin but a general problem with computer security (with the simplest answer to that one probably being - "Use Linux").

I guess multi-sig might be of interest in regarding securing funds although I'm guessing that's probably going to be more technical than what you are wanting to communicate.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 17, 2012, 10:55:44 AM
 #5

Hmm... still not quite clear as IMHO getting hacked is really nothing to do with your (lack of) understanding about Bitcoin but a general problem with computer security (with the simplest answer to that one probably being - "Use Linux").

I guess multi-sig might be of interest in regarding securing funds although I'm guessing that's probably going to be more technical than what you are wanting to communicate.


I can educate anyone how to use a padlock but until I educate them that I can break into that lock with a lock-picking-set they will left to believe that there are no limits to the lock. Which isn't true, the lock can be picked, smashed broken, maybe the material that it is interlocking could be broken, the door its locking could be busted(need to asses things like that)... Teaching a dev how to use Bitcoin will absolutely not teach them how to keep them and their reputations safe from hackers ruining it.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 17, 2012, 10:58:17 AM
 #6

PS. Remember this is for developers to understand the implications of things not everyday users, a developer needs to care about confirmations all the user and point of sale device need to know is did the money come in and the programming implemented into that point of sale device will decide when it is appropriate to accept this as true which is a programmers job.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
November 17, 2012, 11:04:00 AM
Last edit: November 17, 2012, 12:27:50 PM by CIYAM Pty. Ltd.
 #7

PS. Remember this is for developers to understand the implications of things not everyday users, a developer needs to care about confirmations all the user and point of sale device need to know is did the money come in and the programming implemented into that point of sale device will decide when it is appropriate to accept this as true which is a programmers job.

Okay - think I'm understanding a little better what you are getting at and IMHO describing how a block is "added" to the blockchain is probably actually essential for a developer to understand the safety of the Bitcoin system (if you try to omit how Bitcoin protects against double-spends then you have omitted any chance of them understanding the security).

I don't think that finding a "nonce" that when hashed along with other information provides a value with "x" number of leading zeros is really very difficult to understand although I guess you could use "hashcash" as a simpler implementation of POW (I have some C++ source code for this if interested) that doesn't involve a "chain".

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 17, 2012, 11:52:13 AM
 #8

Ah yes now I think you understand, I looked into the "hashash" white paper(only a few pages in) looks pretty interesting and right in my grasp, I would love to check out the C++ code for this hashcash thing if you got it (Or were you referring to this page I just found thanks to you: http://www.hashcash.org/libs/).

Cheers!
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 17, 2012, 12:01:00 PM
 #9

Oh wow, man this Proof of work stuff is really starting to click now checking this hashcash thing out seriously thanks a bunch!
flipperfish
Sr. Member
****
Offline Offline

Activity: 350
Merit: 251


Dolphie Selfie


View Profile
November 18, 2012, 02:07:56 PM
 #10

maybe you should checkout this, too: https://github.com/bitsofproof/supernode/

It's an implementation of bitcoin in very understandable written java.
Xenland (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


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


View Profile
November 18, 2012, 02:15:13 PM
 #11

maybe you should checkout this, too: https://github.com/bitsofproof/supernode/

It's an implementation of bitcoin in very understandable written java.

I've looked into it.... PAGES GALORE!!!

For something like that I've assigned my self to research it when I have complete full time to check out everything from that project but just not feasible right meow, and I appreciate the link though thanks for keeping me posted Cheesy
Pages: [1]
  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!