{"id":13616315,"url":"https://github.com/rsc/tlogdb","last_synced_at":"2025-03-17T04:32:11.122Z","repository":{"id":57493337,"uuid":"201525755","full_name":"rsc/tlogdb","owner":"rsc","description":"Reusable transparent log database","archived":false,"fork":false,"pushed_at":"2020-10-29T17:13:11.000Z","size":32,"stargazers_count":144,"open_issues_count":1,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-14T11:37:45.714Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rsc.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-09T19:04:30.000Z","updated_at":"2024-07-16T03:43:22.000Z","dependencies_parsed_at":"2022-08-28T13:40:20.757Z","dependency_job_id":null,"html_url":"https://github.com/rsc/tlogdb","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Ftlogdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Ftlogdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Ftlogdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsc%2Ftlogdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsc","download_url":"https://codeload.github.com/rsc/tlogdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221671982,"owners_count":16861340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:01:26.843Z","updated_at":"2024-10-27T11:57:38.069Z","avatar_url":"https://github.com/rsc.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"Tlogdb is a trivial transparent log client and server. It is meant as more a\nstarting point to be customized than a tool to be used directly.\n\nA transparent log is a tamper-proof, append-only, immutable log of data\nrecords. That is, if the server were to violate the “append-only, immutable”\nproperties, that tampering would be detected by the client. For more about\ntransparent logs, see https://research.swtch.com/tlog.\n\n\nServer Operations\n\nTo create a new log (new server state):\n\n    tlogdb [-f file] newlog $servername\n\nThe newlog command creates a new database in file (default tlog.db)\ncontaining an empty log and a newly generated public/private key pair for\nthe server using the given name.\n\nThe newlog command prints the newly generated public key. To see it again:\n\n    tlogdb [-f file] publickey\n\nTo add a record named name to the log:\n\n    cat data | tlogdb [-f file] add name\n\nTo serve the authenticated log data:\n\n    tlogdb [-a addr] [-f file] serve\n\nThe default server address is localhost:6655.\n\n\nClient Operations\n\nThe client maintains a cache database both for performance (avoiding\nduplicate downloads) and for storing the server's public key and the most\nrecently seen log head.\n\nTo create a new client cache:\n\n    tlogdb [-c file] newcache key\n\nThe newcache command creates a new database in file (default tlogclient.db)\nand stores the given public key for later use. The key should be the output\nof the tlogdb's server commands newlog or publickey, described above.\n\nTo look up a record in the log:\n\n    tlogdb [-a addr] [-c file] lookup name\n\nThe default server address is again localhost:6655.\n\n\nExample\n\nPutting the various commands together in a Unix shell:\n\n    rm -f tlog.db tlogclient.db\n    go build\n\n    ./tlogdb newlog myname\n    ./tlogdb publickey\n    echo hello world | ./tlogdb add greeting\n    ./tlogdb serve \u0026\n\n    ./tlogdb newcache $(./tlogdb publickey)\n    ./tlogdb lookup greeting\n\n    kill $!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsc%2Ftlogdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frsc%2Ftlogdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsc%2Ftlogdb/lists"}