{"id":22615621,"url":"https://github.com/marcellodesales/mesh-bitcoin-transactions","last_synced_at":"2026-04-09T12:36:23.754Z","repository":{"id":142072845,"uuid":"479840219","full_name":"marcellodesales/mesh-bitcoin-transactions","owner":"marcellodesales","description":"Mesh the ₿TC transactions","archived":false,"fork":false,"pushed_at":"2022-04-30T15:31:25.000Z","size":216,"stargazers_count":0,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-03T10:46:22.911Z","etag":null,"topics":["bitcoin","docker","docker-compose","nodejs","transactions"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/marcellodesales.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-09T20:48:01.000Z","updated_at":"2022-05-01T19:35:07.000Z","dependencies_parsed_at":"2023-07-09T05:32:04.794Z","dependency_job_id":null,"html_url":"https://github.com/marcellodesales/mesh-bitcoin-transactions","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellodesales%2Fmesh-bitcoin-transactions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellodesales%2Fmesh-bitcoin-transactions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellodesales%2Fmesh-bitcoin-transactions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcellodesales%2Fmesh-bitcoin-transactions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcellodesales","download_url":"https://codeload.github.com/marcellodesales/mesh-bitcoin-transactions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246122247,"owners_count":20726822,"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","docker","docker-compose","nodejs","transactions"],"created_at":"2024-12-08T19:08:37.182Z","updated_at":"2025-12-30T22:10:01.382Z","avatar_url":"https://github.com/marcellodesales.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mesh The Bitcoin Transactions\n\nAt Mesh, we receive thousands of deposits from customers per day. This test is designed to test your ability to work with a transaction set that could get returned by a blockchain daemon like bitcoind.\n\nThe data we work with in this scenario comes from bitcoind’s rpc call `listsinceblock`. A frequently used approach to detect incoming deposits is to periodically call `listsinceblock` and process the returned data. This test contains 2 json files that represent the data from 2 separate calls to this endpoint. Your task is to write code that processes those files and detects all valid incoming deposits.\n\nThese instructions do not specify every single detail you should take into consideration. This is done on purpose to test your ability to analyze a problem and come up with a reasonable and safe approach. Keep in mind that your code will determine how much money each customer will get. Thoroughness is one of the most important qualities for this role.\n\n**Goal**: Process transactions and filter them for valid deposits.\n\n**Note**: A deposit is considered valid when it has at least 6 confirmations.\n\nKnown customer addresses are:\n* Wesley Crusher: mvd6qFeVkqH6MNAS2Y2cLifbdaX5XUkbZJ\n* Leonard McCoy: mmFFG4jqAtw9MoCC88hw5FNfreQWuEHADp\n* Jonathan Archer: mzzg8fvHXydKs8j9D2a8t7KpSXpGgAnk4n\n* Jadzia Dax: 2N1SP7r92ZZJvYKG2oNtzPwYnzw62up7mTo\n* Montgomery Scott: mutrAf4usv3HKNdpLwVD4ow2oLArL6Rez8\n* James T. Kirk: miTHhiX3iFhVnAEecLjybxvV5g8mKYTtnM\n* Spock: mvcyJMiAcSXKAEsQxbW9TYZ369rsMG6rVV\n\n## Requirements\n\nBuild a dockerized Node.js application to process the two transaction sets. \n\nIf you're not comfortable with Node.js, feel free to use the language of your choice.\n\nThe command `docker-compose up` **MUST**:\n\n1. Read all transactions from [./services/bitcoin-transaction-files-watcher/data/transactions-1.json](https://github.com/marcellodesales/mesh-the-btc-transactions/blob/master/services/bitcoin-transaction-files-watcher/data/transactions-1.json) and [./services/bitcoin-transaction-files-watcher/data/transactions-2.json](https://github.com/marcellodesales/mesh-the-btc-transactions/blob/master/services/bitcoin-transaction-files-watcher/data/transactions-2.json) and store all deposits in a database of your choice.\n2. Read deposits from the database that are good to credit to users and print the following 10 lines on stdout:\n\n    ```\n    Deposited for Wesley Crusher: count=n sum=x.xxxxxxxx\n    Deposited for Leonard McCoy: count=n sum=x.xxxxxxxx\n    Deposited for Jonathan Archer: count=n sum=x.xxxxxxxx\n    Deposited for Jadzia Dax: count=n sum=x.xxxxxxxx\n    Deposited for Montgomery Scott: count=n sum=x.xxxxxxxx\n    Deposited for James T. Kirk: count=n sum=x.xxxxxxxx\n    Deposited for Spock: count=n sum=x.xxxxxxxx\n    Deposited without reference: count=n sum=x.xxxxxxxx\n    Smallest valid deposit: x.xxxxxxxx\n    Largest valid deposit: x.xxxxxxxx\n    ```\n\n    The numbers in lines 1 - 7 **MUST** contain the count of valid deposits and their sum for the respective customer.\n    \n    The numbers in line 8 **MUST** be the count and the sum of the valid deposits to addresses that are not associated with a known customer.\n\n    **Note**: We'll match for these 10 lines with regular expressions. Please stick to this exact template, otherwise it won't be detected.\n\n## Submitting your results\n\nCompress your source code as zip archive and send us a link where we can download it. Sharing via Dropbox or Google Drive has worked well in the past. Make sure the Dockerfile is on the top level.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcellodesales%2Fmesh-bitcoin-transactions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcellodesales%2Fmesh-bitcoin-transactions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcellodesales%2Fmesh-bitcoin-transactions/lists"}