0

I am attempting to use Bitcoin RPC in regtest mode, however, when I try to validate a bitcoin address with the following function

public function validateAddress($address)
{
    $command = new \Nbobtc\Command\Command('validateaddress', [$address]);
    $response = $this->client->sendCommand($command);
    $contents = $response->getBody()->getContents();

    return $contents;
}

it returns...

Array ( [result] => Array ( [isvalid] => ) [error] => [id] => )

Any ideas why the isvalid value is missing?

I could have sworn this was working a day or two ago...

  • can you add more details? – vincenzopalazzo Sep 19 at 14:32
  • Thank you for taking a look, Did you have a specific questions about my question? =] – Jeffrey L. Roberts Sep 19 at 14:35
  • you use the same address for the testing in the mainet and regtest? – vincenzopalazzo Sep 19 at 15:35
  • yes sir i do, i copy and pasted it – Jeffrey L. Roberts Sep 19 at 16:27
1

You may be trying to validate a mainnet address on a testnet/regtest client.

For the benefit of others:

<?php

require '/tmp/vendor/autoload.php';

$command = new \Nbobtc\Command\Command('getinfo');
$client  = new \Nbobtc\Http\Client('http://username:password@localhost:18332');

# legacy testnet address
#$address = "mvM368BXwRNx4HcYdL8XbU8hAX274gMKcq";
# bech32 address
#$address = "2Mzm5MPhGWTxNcZPGfpW7URR4mASKzsCZ3k";
# mainnet address
$address = "1KJFgSXpPvUthy3a7NxyM66szTkqHabpYB";

$command = new \Nbobtc\Command\Command('validateaddress', [$address]);
$response = $client->sendCommand($command);
$contents = $response->getBody()->getContents();

echo $contents;
?>

I observe that bitcoin 0.18.1 will return as OP describes when attempting to validate a mainnet address on a testnet/regtest client, and return correct details otherwise.

If not, could you edit in to your question the actual address and the bitcoin.conf you're using.

Edit: I notice there IS a difference. I'm getting {"result":{"isvalid":false},"error":null,"id":null} vs OP getting Array ( [result] => Array ( [isvalid] => ) [error] => [id] => ) Perhaps there is some post-processing you're doing to $contents that is losing the value?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.