{"id":13462379,"url":"https://github.com/piotrnar/gocoin","last_synced_at":"2025-03-25T01:32:14.619Z","repository":{"id":7697967,"uuid":"9062260","full_name":"piotrnar/gocoin","owner":"piotrnar","description":"Full bitcoin solution written in Go (golang)","archived":false,"fork":false,"pushed_at":"2025-03-20T15:11:49.000Z","size":19031,"stargazers_count":986,"open_issues_count":8,"forks_count":227,"subscribers_count":65,"default_branch":"master","last_synced_at":"2025-03-20T15:37:58.164Z","etag":null,"topics":["bitcoin","gocoin","golang","node","wallet"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/piotrnar.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-27T19:51:58.000Z","updated_at":"2025-03-20T15:11:48.000Z","dependencies_parsed_at":"2023-01-13T16:23:39.078Z","dependency_job_id":"b995c5c6-4b29-498e-a035-943ca4a0d5f8","html_url":"https://github.com/piotrnar/gocoin","commit_stats":{"total_commits":6614,"total_committers":8,"mean_commits":826.75,"dds":0.1519504082249773,"last_synced_commit":"206675d004e755483f2b7f712105bbb69262fb46"},"previous_names":[],"tags_count":125,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrnar%2Fgocoin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrnar%2Fgocoin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrnar%2Fgocoin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrnar%2Fgocoin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piotrnar","download_url":"https://codeload.github.com/piotrnar/gocoin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245382176,"owners_count":20606165,"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":["bitcoin","gocoin","golang","node","wallet"],"created_at":"2024-07-31T12:00:46.421Z","updated_at":"2025-03-25T01:32:14.613Z","avatar_url":"https://github.com/piotrnar.png","language":"Go","funding_links":[],"categories":["Uncategorized","Implementation of Blockchain","Go"],"sub_categories":["Uncategorized","web3.js"],"readme":"# About Gocoin\r\n\r\n**Gocoin** is a full **Bitcoin** solution written in Go language (golang).\r\n\r\nThe software architecture is focused on maximum performance of the node\r\nand cold storage security of the wallet.\r\n\r\nThe **wallet** is designed to be used offline.\r\nIt is deterministic and password seeded.\r\nAs long as you remember the password, you do not need any backups ever.\r\nWallet can be used without the client, but with the provided **balio** tool instead.\r\n\r\nThe **client** (p2p node) is an application independent from the **wallet**.\r\nIt keeps the entire UTXO set in RAM, providing an instant access to all its records\r\nand - in consequece - an extraordinary blochchain processing performance.\r\n\r\nSystem memory and time Gocoin client needs to sync the blockchain up to\r\nthe given block number, with comparision to Bitcoin Core 28.1:\r\n\r\n![SyncChart](website/quick_sync_gocoin_vs_core_mar25.png)\r\n*The above data was collected using [Hetzner](https://hetzner.com) dedicated server\r\nwith 3.2GHz Intel i7-8700 CPU, 128GB RAM, 2x1TB SSD and 1Gbit internet connection,\r\nrunning Debian 12 (bookworm).\r\nClients using their default configuration, except for the second (blue) Bitcoin Core\r\nthat is set to use **dbcache=32768**.\r\nIn all cases \"assumevalid\" parameter was used to skip verification of all the scripts and signatures.\r\nFor other performance charts see [gocoin.pl](https://gocoin.pl/gocoin_performance.html) website.*\r\n\r\n# Requirements\r\n\r\n## Hardware\r\n\r\n**client**:\r\n\r\n* 64-bit architecture OS and Go compiler.\r\n* File system supporting files larger than 4GB.\r\n* At least 32GB of system RAM (more recommended).\r\n\r\n\r\n**wallet**:\r\n\r\n* Any platform that you can make your Go (cross)compiler to build for (Raspberry Pi works).\r\n* For security reasons make sure to use encrypted swap file (if there is a swap file).\r\n* If you decide to store your password in a file, have the disk encrypted (in case it gets stolen).\r\n\r\n\r\n## Operating System\r\nHaving hardware requirements met, any target OS supported by your Go compiler will do.\r\nCurrently that can be at least one of the following:\r\n\r\n* Windows\r\n* Linux\r\n* macOS\r\n* Free BSD\r\n\r\n## Build environment\r\nIn order to build Gocoin yourself, you will need the following tools installed in your system:\r\n\r\n* **Go** (recent version) - http://golang.org/doc/install\r\n* **Git** (optional) - http://git-scm.com/downloads\r\n\r\nIf the tools mentioned above are properly installed, you should be able to execute `go` and\r\n(optionally) `git` from your OS's command prompt without a need to specify full path to the\r\nexecutables.\r\n\r\n# Getting sources\r\n\r\nDownload the source code from github to a local folder of your choice by executing:\r\n\r\n\tgit clone https://github.com/piotrnar/gocoin.git\r\n\r\nAlternatively - if you don't want to use git - download the code archive\r\nfrom [github.com/piotrnar/gocoin](https://github.com/piotrnar/gocoin)\r\nusing any web browser. Then extract the archive to your local disk.\r\n\r\n# Building\r\n\r\n## Client node\r\nGo to the `client/` folder and execute `go build` there.\r\n\r\n\r\n## Wallet\r\nGo to the `wallet/` folder and execute `go build` there.\r\n\r\n\r\n## Tools\r\nEach sub-folder inside `tools/` folder is a separate tool.\r\n\r\nGo to a chosen sub-folder and execute `go build` there.\r\n\r\n\r\n# Binaries\r\n\r\nFind the latest binaries (of **client**, **wallet** and **balio** tool) for\r\nWindows, Linux and macOS in [Releases](https://github.com/piotrnar/gocoin/releases/latest).\r\n\r\nOlder binaries can be downloaded from [sourceforge.net](https://sourceforge.net/projects/gocoin/files/?source=directory).\r\n\r\nNote that the binaries are almost never up to date.\r\nI strongly encourage everyone to build the binaries themselves.\r\n\r\n# Development\r\nAlthough it is an open source project, I am sorry to inform you that **I will not merge in any pull requests**.\r\nThe reason is that I want to stay an explicit author of this software, to keep a full control over its\r\nlicensing. If you are missing some functionality, just describe me your needs and I will see what I can do\r\nfor you. But if you want your specific code in, please fork and develop your own repo.\r\n\r\n# Support\r\nThe official web page of the project is served at \u003ca href=\"http://gocoin.pl\"\u003egocoin.pl\u003c/a\u003e\r\nwhere you can find extended documentation, including **User Manual**.\r\n\r\nPlease do not log github issues when you only have questions concerning this software.\r\nInstead see [Contact](http://gocoin.pl/gocoin_links.html) page at [gocoin.pl](http://gocoin.pl) website\r\nfor possible ways of contacting me.\r\n\r\nIf you want to support this project, I ask you to run your own Gocoin node, prefably with TCP port 8333\r\nopen for the outside world. Do not hestiate to report any issues you find.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrnar%2Fgocoin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiotrnar%2Fgocoin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrnar%2Fgocoin/lists"}