{"id":18485878,"url":"https://github.com/720kb/bitnfc","last_synced_at":"2025-07-23T09:33:02.444Z","repository":{"id":31520162,"uuid":"35084599","full_name":"720kb/BitNFC","owner":"720kb","description":"Bitcoin NFC Android Mobile Wallet - JS + Ionic + Cordova + Bitcore + Blockchain.info API + Cordova NFC plugin","archived":false,"fork":false,"pushed_at":"2019-07-11T00:28:23.000Z","size":3890,"stargazers_count":101,"open_issues_count":10,"forks_count":71,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-23T17:45:50.810Z","etag":null,"topics":["android","bitcoin","blockchain","btc","cordova","nfc"],"latest_commit_sha":null,"homepage":"http://bitnfc.org","language":"CSS","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/720kb.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-05T07:28:49.000Z","updated_at":"2025-02-19T09:25:30.000Z","dependencies_parsed_at":"2022-09-09T16:12:06.665Z","dependency_job_id":null,"html_url":"https://github.com/720kb/BitNFC","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/720kb%2FBitNFC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/720kb%2FBitNFC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/720kb%2FBitNFC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/720kb%2FBitNFC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/720kb","download_url":"https://codeload.github.com/720kb/BitNFC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247912789,"owners_count":21017045,"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":["android","bitcoin","blockchain","btc","cordova","nfc"],"created_at":"2024-11-06T12:47:01.887Z","updated_at":"2025-04-08T19:32:57.530Z","avatar_url":"https://github.com/720kb.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"### bit-nfc\n\nThis is the repository of the BitNFC project, the BitNFC project is archived, 3itcoin-wallet and makevoid/xdai-wallet thou are actively in development now (cordova but not ionic based, onsen UI): \n\nGH repos (onsen based wallets, html generated via haml, js vanilla \"ES2020\"):\n\n- BTCLN:  https://github.com/makevoid/3itcoin-wallet (soon - keychain/wallet using gh.com/makevoid/bitcoin-keychain - bitcoinjs based - supports segwit and based on a grpc library)\n- xDAI:   https://github.com/makevoid/xdai-wallet (current - keychain/wallet using gh.com/makevoid/ethereum-keychain and a web3 node )\n\ncheck them out!\n\n@makevoid\n\n---\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"http://mkvphoto.s3.amazonaws.com/BitNFC/small/logo.png\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://codeclimate.com/github/720kb/BitNFC/badges/gpa.svg\"/\u003e\n\u003cimg src=\"https://img.shields.io/gitter/room/720kb/bitnfc.svg\"/\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"http://mkvphoto.s3.amazonaws.com/BitNFC/small/screen_home2.png\" width=\"32.8%\"/\u003e\n\u003cimg src=\"http://mkvphoto.s3.amazonaws.com/BitNFC/small/screen_send.png\" width=\"32.8%\"/\u003e\n\u003cimg src=\"http://mkvphoto.s3.amazonaws.com/BitNFC/small/screen_wallet_found.png\" width=\"32.8%\"/\u003e\n\u003c/p\u003e\n\n## Download\n\nDownload the APK from http://bitnfc.org\n\n## Known Bugs\n\n##### 1. After the NFC tag is written, alert the user to stay away from the bug\n\n[There is a bug after you write  the tag, the nfc provider should deregister itself for few seconds]\n\nThe problem can be fixed in many ways - see github issues for the full discussion :)\n\nThe error happens also on very bad networking, but it's usually a rare occasion.\n\n##### 2. New empty tag \u003e OK (Send) - The focus should happen on the field!\n\nUX problem (now it requires 2 click to select the field, it should automatically .focus() when the [OK] button from the popup has been pressed)\n\n##### 3. Save the phone wallet private key in the device\n\nSave the phone wallet private key in the device, instead that in localStorage (in the app data), otherwise if you uninstall the app, your private key is lost!\n\n##### 4. see github issues for more\n\n\nPlease report as many bugs as you can, we'll try to fix them asap (remember we can't publish a new version until the hackathon is finished)\n\n\nFor other known bugs - see the Github Issues section\n\n\n### Moar Features\n\n- Better errors \u003e show confirmation count (e.g. in sweep)\n- Ability to Copy (Clone the tag) (Backup)\n- Settings \u003e Denominations (other than millibits: BTCs, bits)\n- Settings \u003e Export private key\n- support for other cryptocurrencies\n- whitelabel version\n- BIP38 version\n- HD Wallet version\n- embed link to url as other NFC record or dedicated url like bitnfc:// or bitcoin://import/pvtkey\n- integrate qr.js library\n- scan qr code to send payment\n- export private key via SMS !!! \u003c\u003c\u003c\u003c **this is awesome**\n- use password protected nfc tokens\n- use BIP38 password protected private keys\n- embed the link for the app\n- copy tag (clone tag)\n- you name one!\n- many more features!!!\n\n## Development\n\n### Prerequisites\n\nYou need Android Studio SDK with SDK v.22\n\n### Install\n\ndownload the project (or git clone it)\n\nenter the dir\n\n```sh\nnpm install cordova ionic -g\n\nnpm install \u0026\u0026 bower install \u0026\u0026 ionic state reset\n\nionic run android # to run it on device (or simulator)\n\n```\n\nor\n\n```sh\nionic serve # to run it locally on a browser (of course NFC will not work)\n```\n\n### NFC Format SMS (the only one that is copy-pastable)\n\nThis is the format we are using to encode the tag with:\n\n(we chose sms url)\n\n```\nsms:0?body=privateKey\n```\n\nIt's actually an SMS format:\n\nDoes it resemble something?\n\n```\nmailto:user@example.com\n```\n\nit's:\n\n```\nsms:URL\n```\n\nthat like an url has variables\n\n```\nsms:path/?var=foo\n```\n\n![](http://mkvphoto.s3.amazonaws.com/BitNFC/small/sms_copy1.jpg)\n![](http://mkvphoto.s3.amazonaws.com/BitNFC/small/sms_copy2.jpg)\n\non standard Mifare tags usually there is space for another NFC Record\n\nwe can also embed a link to the app's google play store page so an user can just scan the nfc tag, click \u0026 download :)\n\n## Release\n\nCreate a keystore (only the first time):\n\n```keytool -genkey -v -keystore BitNFC.keystore -alias BitNFC -keyalg RSA -keysize 2048 -validity 10000```;\n\nbuild the project in release mode:\n\n```cordova plugin rm org.apache.cordova.console \u0026\u0026 cordova build --release android```\n\nsign the two apk generated:\n\n```jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore BitNFC.keystore platforms/android/build/outputs/apk/android-x86-release-unsigned.apk BitNFC \u0026\u0026 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore BitNFC.keystore platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk BitNFC```\n\nuse zipaling to slim the apks:\n\n```zipalign -v 4 platforms/android/build/outputs/apk/android-x86-release-unsigned.apk BitNFC-x86.apk \u0026\u0026 zipalign -v 4 platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk BitNFC-armv7.apk```\n\n\n### Unlincensed under #The_Unlicense\n\n### Terms of Use\n\nPrior to using our wallet software, you acknowledge and agree that:\n\nBitcoin is a dynamic digital currency, and there may be risk of loss when trading, holding, and transacting with bitcoin. \n\nBitNFC and 720kb are not responsible for any loss of your bitcoin due to mishandling, theft, or any other factor outside of their direct control.\n\n\n\nenjoy!\n\n\n#### \u003chttp://bitnfc.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F720kb%2Fbitnfc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F720kb%2Fbitnfc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F720kb%2Fbitnfc/lists"}