Categorygithub.com/continusec/verifiabledatastructures
repositorypackage
0.0.0-20250803232852-168d51646ee9
Repository: https://github.com/continusec/verifiabledatastructures.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

This implementation is for early stage use, feedback and bug reports welcome!

This repository contains a client, server, and embeddable library implementation of the Continusec Verifiable Data Structures API.

It was written by Adam Eijdenberg ([email protected]) and is released under the Apache 2.0 License.

Please see the godoc for information on how to use the libraries: https://godoc.org/github.com/continusec/verifiabledatastructures

See the HTTP REST API doc, for examples using the REST API.

For more information about how Verifiable Logs and Verifiable Maps work, please see this paper: https://www.continusec.com/static/VerifiableDataStructures.pdf

Please drop us a note ([email protected]) if you find this useful.

Quickstart

make
./target/vdbserver

Development Commands

The following commands are useful for those working with the source.

Re-generate proto and asset files

make generate

(will need go install google.golang.org/protobuf/cmd/protoc-gen-go@latest and go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest)

Rebuild server

make

Run tests

make test

Sample config file for server

# openssl req -x509 -newkey rsa:4096 -keyout vds-key.pem -out vds-cert.pem -days 3600 -nodes -subj '/CN=localhost' -batch
# server_cert_path: "vds-cert.pem"
# server_key_path: "vds-key.pem"

rest_server: true
rest_listen_bind: ":8092"

grpc_server: true
grpc_listen_bind: ":8090"
grpc_listen_protocol: "tcp4"

insecure_server_for_testing: true

# Bolt DB path:
bolt_db_path: "."

# Accounts supported by this server
accounts: <
    id: "1234"
    policy: <
        api_key: "secret"
        name_match: "*"
        allowed_fields: "*"
        permissions: PERM_ALL_PERMISSIONS
    >
>