{"id":17283738,"url":"https://github.com/prettymuchbryce/blockchainparser","last_synced_at":"2025-04-14T10:21:04.071Z","repository":{"id":66163039,"uuid":"36383924","full_name":"prettymuchbryce/blockchainparser","owner":"prettymuchbryce","description":"A blockchain parser written in go","archived":false,"fork":false,"pushed_at":"2015-08-13T02:39:00.000Z","size":163,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T16:56:59.611Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prettymuchbryce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-27T17:30:30.000Z","updated_at":"2021-03-10T17:48:19.000Z","dependencies_parsed_at":"2023-02-19T23:25:24.152Z","dependency_job_id":null,"html_url":"https://github.com/prettymuchbryce/blockchainparser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prettymuchbryce%2Fblockchainparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prettymuchbryce%2Fblockchainparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prettymuchbryce%2Fblockchainparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prettymuchbryce%2Fblockchainparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prettymuchbryce","download_url":"https://codeload.github.com/prettymuchbryce/blockchainparser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248860005,"owners_count":21173343,"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-10-15T09:52:06.344Z","updated_at":"2025-04-14T10:21:04.040Z","avatar_url":"https://github.com/prettymuchbryce.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003eParse the bitcoin blockchain into a postgresql database.\n\n##Work in progress\nThis tool is not complete, and is still a work in progress.\n\n####Description \nThis program uses the Bitcoin .dat file format to parse the blockchain into a postgresql database for easier querying. This program parses Transactions, and Blocks into four postgresql tables called transactions, blocks, inputs, and outputs.\n\nThis program parses binary files on your harddrive. It won't auto-update, or be aware of new incoming transactions. You will have to re-run the program once those blocks have been added to your .dat files. In other words, this is for historical (non-realtime) data only.\n\n####.DAT files\nYou will need to provide an argument with a link to your directory which contains these files. They look like this: blk00000.dat, blk00001.dat, etc.\n\nIf you're using Bitcoin QT, the .dat files can be located in these locations:\n\n```\nLinux:\n\n~/.bitcoin/\n\nMacOS:\n\n~/Library/Application Support/Bitcoin/\n\nWindows:\n\n%APPDATA%\\Bitcoin\n```\n####Setup\n\n1. Install postgresql\n2. Run schema.sh to setup the db and schema\n3. Edit the configuration to specify the location of your .dat files\n4. Compile and run main.go\n\n####TODO\n1. Parse P2SH transactions\n2. Parse Multisig transactions\n3. Create wallets table(?)\n\n####Contributing\nPull requests are welcome and encouraged\n\n#####Arguments\n```\n-data The path to your .dat file (blocks) directory\n-user Your postgresql database user\n```\n\n####References\n* [How to parse the bitcoin blockchain](http://codesuppository.blogspot.com/2014/01/how-to-parse-bitcoin-blockchain.html)\n* [Bitcoin wiki](http://bitcoin.it)\n* [A survey of transaction types](http://www.quantabytes.com/articles/a-survey-of-bitcoin-transaction-types)\n* [Blockchain.info](http://www.blockchain.info)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprettymuchbryce%2Fblockchainparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprettymuchbryce%2Fblockchainparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprettymuchbryce%2Fblockchainparser/lists"}