hancock

Check-in [86031540c6]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:cmd/hancock: update generated documentation
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 86031540c64afde09888b9df97732e0dcb9a8a40a2421965bc2cd235091e398e
User & Date: dnc 2020-01-06 21:04:20
Context
2020-01-09
19:35
cmd/hancock: minor fixes; cleanup check-in: e17191b0d8 user: dnc tags: trunk
2020-01-06
21:04
cmd/hancock: update generated documentation check-in: 86031540c6 user: dnc tags: trunk
2020-01-04
16:13
remove deprecated code; other minor cleanup check-in: 715d5551f2 user: dnc tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to README.md.

2
3
4
5
6
7
8
9
10
11
12
13
14
15






16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
..
58
59
60
61
62
63
64
65
66
67
68








69
70
71

72
73
74
75
76
77
78

The source author produces testimony - a signed attestation - about the
source.

Verifiers then confirm their copy is identical to the souce, using `hancock
verify` to test the copy against the testimony.

Testimony includes robust hashes and signatures, to guarantee authenticity
while not revealing details about the original source. Hancock treats all
testimony as public information; currently using IPFS to distribute
testimony and a public index service to look up IPFS content identifiers.

Testimony may be produced by third parties (not exclusively the source
author). Each verifiers independently chooses which authorities they trust.







The name "hancock" comes from "John Hancock" - a slang term in the United
States meaning a person's signature.

Copyright (C) 2019 David N. Cohen see source code for license (AGPL 3)

## Dependencies

Hancock relies on IPFS to distribute data. Running your own IPFS node is
strongly recommended. See http://ipfs.io .

For building hancock, install Go version 1.12 or higher. See
https://golang.org/doc/install .

## Build and Configure

    go get src.d10.dev/hancock/cmd/...
    cp ${GOPATH%:*}/src/src.d10.dev/hancock/cmd/hancock/example/hancock.cfg ~/.config/hancock/hancock.cfg

The file `examples/hancock.cfg` has a reasonable set of defaults. Review the
comments in that file for more information. Copy the example to your
`~/.config/hancock/` and make edits if needed.

## General Usage as author

The hancock command expects optional flags and exactly one operation. Each
operation may expect operation-specific flags or arguments.

    hancock [command flags] operation [operation flags] [operation args]

Each operation produces output to stdout and expects input from stdin, in
................................................................................
Construct a manifest representing a source file with:

    hancock manifest /path/to/source/file [...]

Output is JSON-encoded data about the source file(s), in the format expected
by `hancock-sign`.

## Operation testimony

Publish signed testimony to an index with:









    hancock testimony

The operation expects as input the output of `hancock-sign`.


## Operation verify

Check that a copy of source matches the signed testimony of a trusted
authority.

    hancock verify /path/to/source/copy [...]







<
<
<
<
<


>
>
>
>
>
>




|



<
<
<
|





<

<
<
<
<
|







 







|



>
>
>
>
>
>
>
>


|
>







2
3
4
5
6
7
8





9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24



25
26
27
28
29
30

31




32
33
34
35
36
37
38
39
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

The source author produces testimony - a signed attestation - about the
source.

Verifiers then confirm their copy is identical to the souce, using `hancock
verify` to test the copy against the testimony.






Testimony may be produced by third parties (not exclusively the source
author). Each verifiers independently chooses which authorities they trust.

Testimony is based on a robust hash of source data, in order to guarantee
authenticity while not revealing the original source. Hancock treats all
testimony as public information; although the implementation is currently
limited to finding testimony locally, the ability to store and retreive
testimony from public servers is under development.

The name "hancock" comes from "John Hancock" - a slang term in the United
States meaning a person's signature.

Copyright (C) 2019, 2020 David N. Cohen see source code for license (AGPL 3)

## Dependencies




For building hancock, install a (very) recent version of Go. See
https://golang.org/doc/install .

## Build and Configure

    go get src.d10.dev/hancock/cmd/...






## General Usage As Author

The hancock command expects optional flags and exactly one operation. Each
operation may expect operation-specific flags or arguments.

    hancock [command flags] operation [operation flags] [operation args]

Each operation produces output to stdout and expects input from stdin, in
................................................................................
Construct a manifest representing a source file with:

    hancock manifest /path/to/source/file [...]

Output is JSON-encoded data about the source file(s), in the format expected
by `hancock-sign`.

## Operation publish

Publish signed testimony to an index with:

    hancock publish

This operation published the files produced by `hancock testimony`.

## Operation testimony

Produce signed testimony with:

    hancock testimony

This operation expects as input the output of `hancock-sign`. Testimony is
saved locally, or optionally published to an index.

## Operation verify

Check that a copy of source matches the signed testimony of a trusted
authority.

    hancock verify /path/to/source/copy [...]

Changes to cmd/hancock/hancock.go.

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33







34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//
// The source author produces testimony - a signed attestation - about
// the source.
//
// Verifiers then confirm their copy is identical to the souce, using
// `hancock verify` to test the copy against the testimony.
//
// Testimony includes robust hashes and signatures, to guarantee
// authenticity while not revealing details about the original
// source. Hancock treats all testimony as public information;
// currently using IPFS to distribute testimony and a public index
// service to look up IPFS content identifiers.
//
// Testimony may be produced by third parties (not exclusively the
// source author).  Each verifiers independently chooses which
// authorities they trust.







//
// The name "hancock" comes from "John Hancock" - a slang term in the
// United States meaning a person's signature.
//
// Copyright (C) 2019  David N. Cohen see source code for license (AGPL 3)
//
// Dependencies
//
// Hancock relies on IPFS to distribute data. Running your own IPFS
// node is strongly recommended. See http://ipfs.io .
//
// For building hancock, install Go version 1.12 or higher.  See
// https://golang.org/doc/install .
//
// Build and Configure
//
//    go get src.d10.dev/hancock/cmd/...
//    cp ${GOPATH%:*}/src/src.d10.dev/hancock/cmd/hancock/example/hancock.cfg ~/.config/hancock/hancock.cfg
//
// The file `examples/hancock.cfg` has a reasonable set of defaults.
// Review the comments in that file for more information. Copy the
// example to your `~/.config/hancock/` and make edits if needed.
//
// General Usage as author
//
// The hancock command expects optional flags and exactly one
// operation.  Each operation may expect operation-specific flags or
// arguments.
//
//    hancock [command flags] operation [operation flags] [operation args]
//







<
<
<
<
<
<



>
>
>
>
>
>
>




|



<
<
<
|





<

<
<
<
<
|







18
19
20
21
22
23
24






25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42



43
44
45
46
47
48

49




50
51
52
53
54
55
56
57
//
// The source author produces testimony - a signed attestation - about
// the source.
//
// Verifiers then confirm their copy is identical to the souce, using
// `hancock verify` to test the copy against the testimony.
//






// Testimony may be produced by third parties (not exclusively the
// source author).  Each verifiers independently chooses which
// authorities they trust.
//
// Testimony is based on a robust hash of source data, in order to
// guarantee authenticity while not revealing the original
// source. Hancock treats all testimony as public information;
// although the implementation is currently limited to finding
// testimony locally, the ability to store and retreive testimony from
// public servers is under development.
//
// The name "hancock" comes from "John Hancock" - a slang term in the
// United States meaning a person's signature.
//
// Copyright (C) 2019, 2020  David N. Cohen see source code for license (AGPL 3)
//
// Dependencies
//



// For building hancock, install a (very) recent version of Go.  See
// https://golang.org/doc/install .
//
// Build and Configure
//
//    go get src.d10.dev/hancock/cmd/...

//




// General Usage As Author
//
// The hancock command expects optional flags and exactly one
// operation.  Each operation may expect operation-specific flags or
// arguments.
//
//    hancock [command flags] operation [operation flags] [operation args]
//