Bitcoin RPC RegTest not validating addresses

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...

Jeffrey L. Roberts

Posted 2019-09-19T13:43:34.967

Reputation: 163

can you add more details?vincenzopalazzo 2019-09-19T14:32:46.457

Thank you for taking a look, Did you have a specific questions about my question? =]Jeffrey L. Roberts 2019-09-19T14:35:06.307

you use the same address for the testing in the mainet and regtest?vincenzopalazzo 2019-09-19T15:35:27.367

yes sir i do, i copy and pasted itJeffrey L. Roberts 2019-09-19T16:27:54.877

Answers

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?

Alistair Mann

Posted 2019-09-19T13:43:34.967

Reputation: 522