Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yzernik/open-timestamps-github-action

GitHub Action to timestamp git tags on the Bitcoin blockchain
https://github.com/yzernik/open-timestamps-github-action

bitcoin git hacktoberfest opentimestamps

Last synced: 28 days ago
JSON representation

GitHub Action to timestamp git tags on the Bitcoin blockchain

Awesome Lists containing this project

README

        

# OpenTimestamps Github Action

## About

GitHub Action to timestamp git tags on the Bitcoin blockchain.

## Usage

### Workflow

```yaml
name: CI
on: [push]
jobs:
Example-Job:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Run OpenTimestamps github action
uses: yzernik/open-timestamps-github-action@v1
with:
customTagMessage: "Put anything you want here or nothing at all."
```

### Create a timestamped tag

To create a timestamped tag, simply push a tag to your Github repository.

```
git push origin
```

The Github action will automatically create a new tag named `-ots`.

### Verify the timestamped tag

Install opentimestamps-client:

```
pip install opentimestamps-client
```

Add the following bash script to your home directory:

```bash
#!/bin/sh

# Wrapper for the ots-git-gpg-wrapper
#
# Required because git's gpg.program option doesn't allow you to set command
# line options; see the doc/git-integration.md

ots-git-gpg-wrapper \
--gpg-program "`which gpg`" \
--bitcoin-node http://:@:/ \
-- "$@"

```

Optionally include a tor socks5-proxy in your script:

```bash
--socks5-proxy ":" \
```

Configure your git to use the new script as the GPG program:

```
git config --global gpg.program
```

Use the git tag command to check the timestamped tag:

```
git tag -v -ots
```

### Example

```
(venv) yzernik@yzernik-MacBookPro:~/work/open-timestamps-github-action$ git tag -v v1.0.2-ots
object c08887fc4bcef5fe43efe2511a1a91beda9ada5b
type commit
tag v1.0.2-ots
tagger OpenTimestamps Github Action 1633583868 +0000

OpenTimestamps Github Action
Github repository: yzernik/open-timestamps-github-action
Github actor: yzernik
Running my own action as dogfood!
ots: Success! Bitcoin block 703912 attests existence as of 2021-10-06 PDT
ots: Good timestamp
gpg: Signature made Wed 06 Oct 2021 10:17:48 PM PDT
gpg: using RSA key 4508375EC1594D8A284EFB5FAFD08F9C86FAE9CB
gpg: Can't check signature: No public key
```