- Is nbobtc/bitcoind-php a Laravel package?
- No. It is a framework-agnostic, low-level PHP JSON-RPC wrapper around Bitcoin Core (bitcoind), not a Laravel package. It provides command objects for RPC methods but no service provider, config, Eloquent, queue, event, or health-check integration. In Laravel you must wire it yourself behind an application-owned interface.
- How do I install nbobtc/bitcoind-php with Composer?
- Install it with composer require nbobtc/bitcoind-php, then configure the RPC host, port, and credentials before instantiating the client. Because the last release was in May 2015, modern PHP versions may hit old Composer constraints. If installation fails on PHP 8.x, fork the package and update its requirements rather than forcing incompatible dependencies.
- Does nbobtc/bitcoind-php support PHP 8 and Laravel 9, 10, or 11?
- There is no official modern support. The package predates PHP 8 and recent Laravel releases, and its old dependency constraints may block installation on Laravel 9 through 11. Most teams need to fork it, update the HTTP layer and Composer constraints, and test against their target PHP and Laravel versions.
- How should I configure bitcoind RPC credentials in Laravel?
- Use Laravel configuration and environment variables for the RPC host, port, username, and password, and keep secrets in your secret manager rather than in code. The package does not provide Laravel config or hardened credential handling, so create a config entry and bind a configured client in a service provider. Restrict RPC access with network controls, TLS where appropriate, and a dedicated least-privilege RPC user.
- Which Bitcoin Core RPC methods can I call with nbobtc/bitcoind-php?
- The package provides command objects for calling bitcoind RPC methods such as getblockchaininfo, getbalance, and sendtoaddress. Responses are typically low-level arrays, so your application must validate and normalize amounts, confirmations, fee data, and error codes. Available methods and response shapes depend on the Bitcoin Core version running behind the wrapper.
- Is nbobtc/bitcoind-php safe for a production hot wallet?
- Not by itself. The package is an RPC transport wrapper, not a custody or wallet-security solution, and it does not provide a hardened credential or TLS story. A production hot wallet requires isolated infrastructure, strict network controls, secret management, monitoring, and application-level validation. Do not expose a wallet RPC endpoint directly to the public internet.
- Does nbobtc/bitcoind-php support multiwallet routing and descriptor wallets?
- It predates many modern Bitcoin Core changes, including multiwallet endpoint routing such as /wallet/{name}, descriptor wallets, and stricter parameter validation. Account-based APIs have also been removed or deprecated in newer Bitcoin Core releases. You may need to extend or fork the package to handle wallet-specific endpoints and modern response semantics.
- How do I integrate nbobtc/bitcoind-php into a Laravel service provider?
- Bind an application-owned interface such as BitcoinRpcClient as a singleton in a service provider, and implement it with an adapter that wraps the package's client and command objects. Inject that interface into domain services, jobs, and controllers instead of using package classes directly. This keeps transport details and node-version differences out of product code and makes the client replaceable.
- How can I test nbobtc/bitcoind-php without spending real Bitcoin?
- Use Bitcoin Core in regtest mode for deterministic local testing, and testnet for broader integration checks. Mock your application-owned RPC interface for unit tests so you can simulate successful calls, RPC errors, timeouts, and malformed responses. The package does not provide Laravel testing helpers, so validation and error normalization belong in your adapter.
- Is nbobtc/bitcoind-php still maintained, and should I fork it or replace it?
- Because the package has had no upstream maintenance since 2015, treat it as high abandonment risk. Fork it only if its small surface area fits your needs and you can update PHP compatibility, HTTP handling, and Bitcoin Core RPC semantics. Otherwise replace it behind your application-owned interface with a maintained JSON-RPC client or a small in-house client.