{"id":13714564,"url":"https://github.com/bitcoinj/bitcoinj","last_synced_at":"2025-05-14T09:04:09.284Z","repository":{"id":11944255,"uuid":"14514251","full_name":"bitcoinj/bitcoinj","owner":"bitcoinj","description":"A library for working with Bitcoin","archived":false,"fork":false,"pushed_at":"2025-04-29T10:05:16.000Z","size":27678,"stargazers_count":5098,"open_issues_count":528,"forks_count":2533,"subscribers_count":305,"default_branch":"master","last_synced_at":"2025-05-07T08:02:02.274Z","etag":null,"topics":["bech32","bip141","bip143","bip144","bip173","bip32","bip37","bip70","bitcoin","bitcoinj","blockchain","java","library","segwit","taproot"],"latest_commit_sha":null,"homepage":"https://bitcoinj.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitcoinj.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":".github/CONTRIBUTING.adoc","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-11-19T04:33:23.000Z","updated_at":"2025-05-05T01:06:53.000Z","dependencies_parsed_at":"2023-10-02T23:28:15.119Z","dependency_job_id":"717a0857-98f2-490a-af9d-ee84c93a5d49","html_url":"https://github.com/bitcoinj/bitcoinj","commit_stats":{"total_commits":5085,"total_committers":148,"mean_commits":"34.358108108108105","dds":0.807472959685349,"last_synced_commit":"cd922bb83977a6aa011c60fcbfe34d6db1d4df3e"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoinj%2Fbitcoinj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoinj%2Fbitcoinj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoinj%2Fbitcoinj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoinj%2Fbitcoinj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitcoinj","download_url":"https://codeload.github.com/bitcoinj/bitcoinj/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110373,"owners_count":22016391,"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":["bech32","bip141","bip143","bip144","bip173","bip32","bip37","bip70","bitcoin","bitcoinj","blockchain","java","library","segwit","taproot"],"created_at":"2024-08-03T00:00:29.775Z","updated_at":"2025-05-14T09:04:09.235Z","avatar_url":"https://github.com/bitcoinj.png","language":"Java","readme":"image:https://github.com/bitcoinj/bitcoinj/workflows/Java%20CI/badge.svg[GitHub Build Status,link=https://github.com/bitcoinj/bitcoinj/actions]\nimage:https://gitlab.com/bitcoinj/bitcoinj/badges/master/pipeline.svg[GitLab Build Status,link=https://gitlab.com/bitcoinj/bitcoinj/-/pipelines]\nimage:https://coveralls.io/repos/bitcoinj/bitcoinj/badge.png?branch=master[Coverage Status,link=https://coveralls.io/r/bitcoinj/bitcoinj?branch=master]\n\nimage::https://img.shields.io/badge/chat-Join%20bitcoinj--users%20on%20Matrix-blue[Join the bitcoinj-users Matrix room, link=https://matrix.to/#/#bitcoinj-users:matrix.org]\n\n### Welcome to bitcoinj\n\nThe bitcoinj library is a Java implementation of the Bitcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Bitcoin Core. It comes with full documentation and some example apps showing how to use it.\n\n### Technologies\n\n* Java 8+ (needs Java 8 API or Android 8.0 API, compiles to Java 8 bytecode) for `base` and `core` module\n* Java 17+ for `tools`, `wallettool`, `examples` and the JavaFX-based `wallettemplate`\n* https://gradle.org/[Gradle]\n** Gradle 7.3+ for building the whole project or\n** Debian Gradle 4.4 for just the `base`, `core`, `tools`, `wallettool` and `examples` modules (see \"reference build\" below)\n* https://github.com/google/protobuf[Google Protocol Buffers] - for use with serialization and hardware communications\n\n### Getting started\n\nTo get started, it is best to have the latest JDK and Gradle installed. The HEAD of the `master` branch contains the latest development code and various production releases are provided on feature branches.\n\n#### Building from the command line\n\nOfficial builds are currently using JDK 17. Our GitHub Actions build and test with JDK 17 and 21.\n\n```\ngradle clean build\n```\nThe outputs are under the `build` directory.\n\nTo perform a full build _without_ unit/integration _tests_ use:\n```\ngradle clean assemble\n```\n\n#### Building from an IDE\n\nAlternatively, just import the project using your IDE. http://www.jetbrains.com/idea/download/[IntelliJ] has Gradle integration built-in and has a free Community Edition. Simply use `File | New | Project from Existing Sources` and locate the `build.gradle` in the root of the cloned project source tree.\n\n### Building and Using the Wallet Tool\n\nThe *bitcoinj* `wallettool` subproject includes a command-line Wallet Tool (`wallet-tool`) that can be used to create and manage *bitcoinj*-based wallets (both the HD keychain and SPV blockchain state.) Using `wallet-tool` on Bitcoin's test net is a great way to learn about Bitcoin and *bitcoinj*.\n\nTo build an executable shell script that runs the command-line Wallet Tool, use:\n```\ngradle bitcoinj-wallettool:installDist\n```\n\nYou can now run the `wallet-tool` without parameters to get help on its operation:\n```\n./wallettool/build/install/wallet-tool/bin/wallet-tool\n```\n\nTo create a test net wallet file in `~/bitcoinj/bitcoinj-test.wallet`, you would use:\n```\nmkdir ~/bitcoinj\n```\n```\n./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet create\n```\n\nTo sync the newly created wallet in `~/bitcoinj/bitcoinj-test.wallet` with the test net, you would use:\n```\n./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet sync\n```\n\nTo dump the state of the wallet in `~/bitcoinj/bitcoinj-test.wallet` with the test net, you would use:\n```\n./wallettool/build/install/wallet-tool/bin/wallet-tool --net=TESTNET --wallet=$HOME/bitcoinj/bitcoinj-test.wallet dump\n```\n\nNOTE: These instructions are for macOS/Linux, for Windows use the `wallettool/build/install/wallet-tool/bin/wallet-tool.bat` batch file with the equivalent Windows command-line commands and options.\n\n### Building and Running the Wallet Template\n\nThe *bitcoinj* `wallettemplate` subproject includes a template JavaFX wallet application (`bitcoinj-wallettemplate`) that can be used as a starting point for building a JavaFX-based *bitcoinj* wallet application.\n\nTo build an executable shell script that runs the wallettemplate, use:\n```\ngradle bitcoinj-wallettemplate:installDist\n```\n\nYou can now run `bitcoinj-wallettemplate` to launch the application:\n```\n./wallettemplate/build/install/bitcoinj-wallettemplate/bin/bitcoinj-wallettemplate\n```\n\n NOTE: On Windows, use `bitcoinj-wallettemplate.bat`.\n\nYou can also use `jlink` to build and run the application with a bundled JVM runtime:\n```\ngradle bitcoinj-wallettemplate:jlink\n./wallettemplate/build/image/bin/bitcoinj-wallettemplate\n```\n\n### Building the reference build\n\nOur reference build (which is also used for our releases) is running within a container to provide good reproducibility.\nBuildah 1.26+, Podman 4.1+ and Docker (with BuildKit) are supported. We tested various combinations of host OSes\n(Debian, Ubuntu, macOS, Windows+WSL) and architectures (amd64, arm64). For usage instructions see `build.Containerfile`.\n\nThis uses Debian Gradle with the `settings-debian.gradle` settings. If you happen to use Debian and have Gradle\ninstalled from the Debian repository, you can invoke these settings directly:\n\n```\ngradle --settings-file settings-debian.gradle clean build\n```\n\n### Example applications\n\nThese are found in the `examples` module.\n\n### Where next?\n\nNow you are ready to https://bitcoinj.github.io/getting-started[follow the tutorial].\n\n### Testing a SNAPSHOT build\n\nBuilding apps with official releases of *bitcoinj* is covered in the https://bitcoinj.github.io/getting-started[tutorial].\n\nIf you want to develop or test your app with a https://jitpack.io[Jitpack]-powered build of the latest `master` or `release-0.17` branch of *bitcoinj* follow the dynamically-generated instructions for that branch by following the correct link.\n\n* https://jitpack.io/#bitcoinj/bitcoinj/master-SNAPSHOT[master] branch\n* https://jitpack.io/#bitcoinj/bitcoinj/release-0.17-SNAPSHOT[release-0.17] branch\n","funding_links":[],"categories":["Bitcoin","Cryptocurrencies","Projects","开源项目","III. Network and Integration"],"sub_categories":["Libraries","11. Bitcoin"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitcoinj%2Fbitcoinj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitcoinj%2Fbitcoinj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitcoinj%2Fbitcoinj/lists"}