Bitcoin Forum
May 06, 2024, 11:46:52 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 »  All
  Print  
Author Topic: Developer Guide on bitcoin.org: writers/reviewers needed  (Read 7699 times)
blockgenesis (OP)
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250

Bitcoin.org maintainer


View Profile
March 12, 2014, 01:40:48 AM
Last edit: May 24, 2014, 03:31:48 PM by blockgenesis
 #1

Update: Developer documentation has been merged on bitcoin.org:
https://bitcoin.org/en/developer-documentation

--

The goals of this project is to improve access to good quality documentation for developers.

A lot of useful information is spread accross wiki pages, BIPS GitHub pages and BitcoinTalk threads. It would be nice to gather all this information in a single place with a consistent structure or a set of pages with a single table of content. A good "API Reference" page with code snippets would be useful too.

Good writers are needed to make this project happen. If you can help with this project, please PM me or comment on this thread. Some of this work can be paid work as the Foundation is providing a 2000$ monthly bounty ( some of it is already assigned to server and translation expenses ).

Work is already ongoing but needs more contributors to be completed. Not just writers, actually a lot of work will be to review, discuss, edit and organize all of this information.

Live preview

You can preview current work in progress here:
(Merged)

General Discussions

You can join general discussions on this Google group:
https://groups.google.com/forum/#!forum/bitcoin-documentation

Style Guide

General writing guidelines are discussed and edited here:
https://github.com/bitcoin/bitcoin.org/wiki/Documentation-Style-Guide

Donation: 18XXXQs1vAQGBAZbXKA322r9Zy1nZac2H4
1714996012
Hero Member
*
Offline Offline

Posts: 1714996012

View Profile Personal Message (Offline)

Ignore
1714996012
Reply with quote  #2

1714996012
Report to moderator
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714996012
Hero Member
*
Offline Offline

Posts: 1714996012

View Profile Personal Message (Offline)

Ignore
1714996012
Reply with quote  #2

1714996012
Report to moderator
1714996012
Hero Member
*
Offline Offline

Posts: 1714996012

View Profile Personal Message (Offline)

Ignore
1714996012
Reply with quote  #2

1714996012
Report to moderator
1714996012
Hero Member
*
Offline Offline

Posts: 1714996012

View Profile Personal Message (Offline)

Ignore
1714996012
Reply with quote  #2

1714996012
Report to moderator
freedomno1
Legendary
*
Offline Offline

Activity: 1806
Merit: 1090


Learning the troll avoidance button :)


View Profile
March 12, 2014, 01:57:21 AM
 #2

I will probably leave this to more technical hands but I might be able to find some good points here and there so reporting in

Believing in Bitcoins and it's ability to change the world
blockgenesis (OP)
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250

Bitcoin.org maintainer


View Profile
March 12, 2014, 02:18:39 AM
 #3

I will probably leave this to more technical hands but I might be able to find some good points here and there so reporting in

PM'd, thanks!

Donation: 18XXXQs1vAQGBAZbXKA322r9Zy1nZac2H4
harding
Jr. Member
*
Offline Offline

Activity: 50
Merit: 46


View Profile WWW
March 12, 2014, 06:43:39 AM
 #4

Right now there are two simple (but not necessarily easy!) ways to get started:

1.  Dip your toes in the water: work with Blockgenesis to refine the text we already have about the block chain. Blockgenesis has proposed a number of improvements (some small, some larger) and we need a writer/editor to implement those improvements.

2.  Jump into the deep end: agree to write a section of the outline Blockgenesis posted to above. The Block Chain section is written and I'm working on the Transaction section, but all the other sections are unclaimed. Just tell us what section you want and give us a rough idea about how long it will take you.

You can, of course, think up an option #3 and do that

Blockgenesis is currently co-ordinating everything, so let him know what you want to do and he'll give you access to the resources we're currently using.

-Dave (author of the block chain section in the OP link)
Cyrus
Ninja
Administrator
Legendary
*
Online Online

Activity: 3766
Merit: 2949



View Profile
March 12, 2014, 07:02:38 AM
 #5

Interested as well. I'm also in the process of translating bitcoin.org on transifex.

Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1129


View Profile
March 12, 2014, 09:38:09 AM
 #6

We definitely need a section on the payment protocol, which merges together all the BIPs and best practices into a living document. BIPs are great but they are written as "delta to previous behaviour" which can make figuring out the systems final state harder than it should be.
blockgenesis (OP)
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250

Bitcoin.org maintainer


View Profile
March 12, 2014, 05:32:59 PM
 #7

We definitely need a section on the payment protocol, which merges together all the BIPs and best practices into a living document. BIPs are great but they are written as "delta to previous behaviour" which can make figuring out the systems final state harder than it should be.

Yup, I called this subsection "Payment requests". Just let me know if you feel anything is missing (or isn't relevant enough to be mentionned).

I just updated the initial thread to provide clearer procedures and instructions for anyone to take part in discussions, submit work and see assigned tasks.

Donation: 18XXXQs1vAQGBAZbXKA322r9Zy1nZac2H4
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1129


View Profile
March 13, 2014, 12:00:01 PM
 #8

Awesome! Let's go! Smiley
Farghaly
Newbie
*
Offline Offline

Activity: 38
Merit: 0


View Profile
March 13, 2014, 02:03:05 PM
 #9

I can translate into Arabic, if you need help ?
blockgenesis (OP)
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250

Bitcoin.org maintainer


View Profile
March 13, 2014, 04:15:34 PM
 #10

I can translate into Arabic, if you need help ?

You can refer to this thread for translations:
https://bitcointalk.org/index.php?topic=349633.0

Arabic translations indeed really need to be updated. Your help is more than welcome!

Donation: 18XXXQs1vAQGBAZbXKA322r9Zy1nZac2H4
harding
Jr. Member
*
Offline Offline

Activity: 50
Merit: 46


View Profile WWW
March 17, 2014, 03:23:40 AM
 #11

Hi,

I'm currently writing about OP_CHECKSIG for the dev guide and I could use a quick hint from someone more knowledgeable about the SIGHASH_NONE|SIGHASH_ANYONECANPAY hash type:

What prevents peers (relayers) and miners from extracting all inputs signed with SIGHASH_NONE|SIGHASH_ANYONECANPAY from a transaction and using those inputs to create new transactions that pay themselves?

I'm confused because, on one hand, bitcoinj's payment channels seem to use SH_N|SH_ACP, so I suspect Mike thinks it's secure, but on the other hand, I don't see how it could be based on the explanation of SH_N|SH_ACP on the wiki, which I understand to say:

* SH_NONE prevents signing of any outputs by the current input.

* SH_ANYONECANPAY prevents signing of any input except the current input

The combined effect being a valid input which can extracted and spent to an arbitrary script.

Any help will be appreciated,

-Dave
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1129


View Profile
March 17, 2014, 12:41:46 PM
 #12

At that stage of the protocol the signature being returned is signing for a CHECKMULTISIG output. The signature covers the outpoints, so you can't take it and apply it to any arbitrary coin (besides the keys are meant to not be reused, even though they are in the current code). The other signature for the multisig output is required and that covers the outputs.
harding
Jr. Member
*
Offline Offline

Activity: 50
Merit: 46


View Profile WWW
March 17, 2014, 01:44:18 PM
 #13

Mike:

Thank you for your answer.

I think I confused the issue by trying to generalize it and tie it into bitcoinj. Looking at a particular transaction with the form:

Code:
Input0|Input1||Output0

And...

*   Input0 is signed SIGHASH_NONE|SIGHASH_ANYONECANPAY (prevout script was pay-to-pubkey-hash)

*   Input1 is signed SIGHASH_ALL (prevout script was pay-to-pubkey-hash)

And...

*   The transaction is transmitted directly to a single miner who doesn't relay it

Question: Is it true that the miner can remove Input1 and Output0, add a new Output0, and mine the modified transaction?

---

Your answer did point out something I haven't seen documented elsewhere, so I want to make sure I understand correctly before documenting it myself:

Question: Is it true that each signature in a multisig scriptSig can use a different hash type?

Thank you again for your help! -Dave
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1129


View Profile
March 17, 2014, 07:17:22 PM
 #14

Question: Is it true that the miner can remove Input1 and Output0, add a new Output0, and mine the modified transaction?

Yes.

Quote
Question: Is it true that each signature in a multisig scriptSig can use a different hash type?

Yes.
harding
Jr. Member
*
Offline Offline

Activity: 50
Merit: 46


View Profile WWW
March 17, 2014, 07:20:01 PM
 #15

Thanks!
genjix
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 17, 2014, 07:57:06 PM
 #16

Please specify a license for contributors. I recommend the GNU Free Documentation License.
http://www.gnu.org/copyleft/fdl.html
blockgenesis (OP)
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250

Bitcoin.org maintainer


View Profile
March 17, 2014, 08:08:59 PM
 #17

Please specify a license for contributors. I recommend the GNU Free Documentation License.
http://www.gnu.org/copyleft/fdl.html

The content on bitcoin.org is already under MIT (see the copyright notice at the bottom), which is a very permissive license (AFAIK, I'm no expert with licensing).

Donation: 18XXXQs1vAQGBAZbXKA322r9Zy1nZac2H4
genjix
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
March 18, 2014, 04:16:31 PM
 #18

This file needs updating:
https://github.com/saivann/bitcoin.org/blob/dev/COPYING
felipelalli
Full Member
***
Offline Offline

Activity: 229
Merit: 103



View Profile
March 18, 2014, 09:40:40 PM
 #19

We need a new wiki. New users can't edit it anymore and the page is very deprecated yet.

Please follow http://www.reddit.com/r/Bitcoin/comments/20b926/its_time_to_have_a_new_wiki/

@mesamunefire did it: http://thebitcoinwiki.com/index.php?title=Main_Page

But I think the community need more proof he can maintain that for a while.

 Huh
blockgenesis (OP)
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250

Bitcoin.org maintainer


View Profile
March 21, 2014, 01:35:06 AM
Last edit: June 17, 2014, 08:10:11 AM by blockgenesis
 #20

Latest update: The first draft for the Transaction subsection is there:

(Merged)

Reviews are appreciated (only errors, omissions, confusions, and other issues at this point, writing style improvements can be done later ).

Donation: 18XXXQs1vAQGBAZbXKA322r9Zy1nZac2H4
Pages: [1] 2 3 4 »  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!