Re: [Bitcoin-development] More precise type information in API reference

2015-02-17 Thread David A. Harding
On Tue, Feb 17, 2015 at 01:33:28PM +, Dario Teixeira wrote:
> From this stems my request: please consider defining
> more precisely the type information associated with each API call
> in the JSON-RPC reference [3].

Hi Dario,

I'm the primary author of the Bitcoin.org JSON-RPC reference, and I'd
be happy to help.

Do you think it would be possible for you to submit a minimal pull
request against the docs adding the type information you need to just
one RPC call?  From there we can see how much work it would take to
generalize that across all 100+ printed pages worth of RPC docs.

I've tried to make this as easy as possible: if you hover your mouse
over the title of an RPC[1], an "Edit" link will appear that will take you
to a page on GitHub to edit the file describing that RPC call.  Or you
can checkout[2] the website repository and edit the file locally; the
individual RPCs are in _includes/ref/bitcoin-core/rpcs/rpcs/

[1] For example, 
https://bitcoin.org/en/developer-reference#addmultisigaddress
[2] https://github.com/bitcoin/bitcoin.org

If you have any questions about the editing process, or anything else,
please feel free to email me at this address or PM harding on Freenode.

Thanks!,

-Dave
-- 
David A. Harding

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Mining Hashrate Caps

2014-07-17 Thread David A. Harding
On Thu, Jul 17, 2014 at 09:35:20AM -0400, Mark Friedenbach wrote:
> Can someone explain to these guys and the public why promising to limit
> yourselves to *only* a 50% chance of successfully double-spending a 6
> confirm transaction is still not acceptable?

Hi, Mark.

We were asked on the bitcoin-documentation mailing list about a month
ago to work on something like this and we're getting close to a pull
request for the Bitcoin.org website.  There's a preview here:

http://dg0.dtrt.org/en/mining#lucky-attack

(Remember, it's a preview and still being actively written/edited.)

Discussion about that doc belongs on the bitcoin-documentation mailing
list. Here's the particular thread:

https://groups.google.com/forum/#!topic/bitcoin-documentation/PKwBcroWGGg

Thanks,

-Dave
-- 
David A. Harding

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


[Bitcoin-development] Announce: Bitcoin.org Developer Documentation Now Live

2014-05-26 Thread David A. Harding
Hi all,

The first version of the Bitcoin.org Developer Documentation is now
live. The main URL (below) provides a portal to two main documents, an
overview-level guide and a more detailed reference. The portal page also
links to individual sections of the documentation and noteworthy
off-site documentation:

https://bitcoin.org/en/developer-documentation

In printed pages, the current version is about 130 pages long in total.
Notable parts include:

* Technical, but still plain-English, descriptions of the block chain
  and transactions, including several illustrations:

https://bitcoin.org/en/developer-guide#block-chain
https://bitcoin.org/en/developer-guide#transactions

* A description of several different "contracts", including arbitration
  contracts, micropayment channels, and coinjoin:

https://bitcoin.org/en/developer-guide#contracts

* Information about wallet formats, including what we hope is a good
  introduction to BIP32 HD wallets for people not already familiar with
  ECDSA specifics:

https://bitcoin.org/en/developer-guide#wallets

https://bitcoin.org/en/developer-guide#hierarchical-deterministic-key-creation

* A considerable amount of payment processing detail, currently aimed
  primarily at developers writing payment-receiving applications for
  merchants. It includes a step-by-step description of the BIP70 Payment
  Protocol using an actual CGI script example.

https://bitcoin.org/en/developer-guide#payment-processing
https://bitcoin.org/en/developer-guide#payment-protocol

* A description of every RPC included in Bitcoin Core 0.9
  cross-referenced with the other sections of the documentation and
  augmented with actual examples of the command in use.

https://bitcoin.org/en/developer-reference#remote-procedure-calls-rpcs

* Not a section, but still notable are the over 2,000 cross-references
  in the text---there are so many that we hide them by default. Hover
  your mouse over a paragraph to see the cross references (in blue) and
  hover your mouse over the link to see more information.



Additions and improvements to the text are being worked on right
now, with an average of 200 lines of text being added each day.

We are, however, in need of expert reviewers.  Issues can be opened on
the main Bitcoin.org repository:

https://github.com/bitcoin/bitcoin.org/issues/new

(If you find an issue while reading the documentation, please click the
Report An Issue link on the bottom left side---this will automatically
add the URL and nearest HTML anchor to your bug report so we know where
to find what you're talking about.)

We also welcome suggestions about what to write next:

https://github.com/bitcoin/bitcoin.org/wiki/Documentation-TODO

All work has been done by volunteers---and we're always looking for more
contributors.  Please feel free to subscribe to our mailing list and say
hello.

https://groups.google.com/forum/#!forum/bitcoin-documentation

And, most importantly, thank you to everyone from the -dev mailing list
who has helped us produce this content over the last 80 days!

Sincerely,

-Dave Harding on behalf of Saïvann Carignan, Greg Sanders, and all the
 documentation contributors
-- 
David A. Harding

--
The best possible search technologies are now affordable for all companies.
Download your FREE open source Enterprise Search Engine today!
Our experts will assist you in its installation for $59/mo, no commitment.
Test it for FREE on our Cloud platform anytime!
http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] PSA: Please sign your git commits

2014-05-21 Thread David A. Harding
On Wed, May 21, 2014 at 06:39:44PM +0200, Chris Beams wrote:
> I [was] searching for a way to enable signing by default [...]
> Unfortunately, there isn't one, meaning it's likely that most folks
> will forget to do this most of the time.

For all of my projects, I now I put this script in
.git/hooks/post-commit and post-merge:

#!/bin/bash -eu

if ! git log -n1 --show-signature | grep -q 'gpg: Good signature'
then
yes "FORGOT TO SIGN COMMIT MESSAGE"
exit 1
fi

So anytime I forget to sign, I get an obvious error and can immediately
run git commit --amend -S.

To automatically add a script like the one above to all new projects (plus
quickly add it old current projects), you can follow these instructions:

http://stackoverflow.com/questions/2293498/git-commit-hooks-global-settings

> If you're really serious about it, you should probably reject pull
> requests without signed commits; otherwise, signing becomes
> meaningless because only honest authors do it

I find signing my commits quite useful even on projects without a
default signing policy because it lets me diff from the last time I
provably reviewed the code.  Here's my script for that:

#!/bin/bash -eu

KEY=F29EC4B7

last_signed_commit=$( git log --topo-order --show-signature 
--pretty=oneline \
| grep -m1 " gpg: Signature made.*RSA key ID $KEY" \
| sed 's/ .*//' \
| grep .
) || { echo "No signed commit found.  Dying..." ; exit 1 ; }

set -x
git diff $last_signed_commit

By diffing against the last signed commit I made, I also review any
commits that were made using my name but which I didn't actually make,
such as squashes and rebases of my commits (and, of course, forgeries).

For anyone who's bored and wants to read a lot of text, I think the
definitive work on git signing is this:

http://mikegerwitz.com/papers/git-horror-story.html

-Dave
-- 
David A. Harding

--
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development