Im простой веб-разработчик и пытается понять, как проверить платежи / транзакции.
Может кто-нибудь прокомментировать код PHP я до сих пор / тестовый код (я далек от хорошего программиста PHP, но получить, как правило)
И выход, как я не в полной мере понять его .....
(Извините, если это звучит глупые вопросы, но я любя Bitcoin и хочет, чтобы начать использовать его на многих других сайтах!)
Код:
PHP
$ resultBlockHeight знак равно json_decode(file_get_contents('Http://blockchain.info/latestblock'));
$ current_block_height знак равно $ resultBlockHeight->высота;
$ resultBlockChain знак равно json_decode(file_get_contents('Http://blockchain.info/address/12TsxgagKmaU4ydLP1PesHFiJHvxyZpo7L?format=json'));
$ total_received знак равно $ resultBlockChain->total_received;
$ number_of_transactions знак равно $ resultBlockChain->n_tx;
если($ number_of_transactions > 0) {
$ сделка знак равно $ resultBlockChain->TXS;
для каждого($ сделка в виде $ ID) {
$ TRANSACTION_DATE знак равно Дата('D-м-Y, G: Я: s', $ ID->время);
если($ ID->block_height == «») {
$ confirmedTransactions знак равно 0;
}
еще {
$ transaction_block_height знак равно $ ID->block_height;
$ confirmedTransactions знак равно$ current_block_height - $ transaction_block_height + 1);
}
// Результаты тестирования / вывода
эхо '$ Total_received'.$ total_received.'<уш>';
эхо '$ TRANSACTION_DATE'.$ TRANSACTION_DATE .'<уш>';
эхо '$ Current_block_height'.$ current_block_height.'<уш>';
эхо '$ Transaction_block_height'. $ transaction_block_height .'<уш>';
эхо '$ ConfirmedTransactions =' .$ confirmedTransactions.'<уш>';
// сырым выходной массив для $ ID / traansactions
эхо 'Выход // trasnsactions';
эхо '<до> ';
эхо print_r($ ID);
эхо ' предварительно>';
}
} Еще {
// если number_of_transactions!> 0
}
если($ number_of_transactions >знак равно 2) {
// ебать знает, что делать, как это должно быть только 1 .....
}
эхо «// полный выходной объект»;
эхо '<до>';
эхо print_r($ resultBlockChain);
эхо ' предварительно>';
?>
Это генерирует следующий вывод (с моими примечаниями и некоторые вопросы на стороне)
Код:
$ Total_received 10000
$ TRANSACTION_DATE 11-07-2013 22:58:02
$ Current_block_height 246206
$ Transaction_block_height 246159
$ ConfirmedTransactions = 48
// выводит операцию
StdClass объекта
(
[Результат] => 0 // результат номер
[Block_height] => 246159 // blockchain высоты во время первой подтвержденной сделки
[Время] => 1373601482 // Дата и время
[вход] => массив
(
[0] => StdClass объекта
(
[Prev_out] => StdClass объекта // что это prev_out значит?
(
[П] => 0
[Значение] => 1030000 // я полагаю, что это общая сумма средств, включая отработанный переехал, изменение и плата за сделку
[Адр] => 1B5W3zqE3cfnR6Zz5kDokNr1ur1hcc21Ge
[Tx_index] => 80631906
[Тип] => 0
)
)
)
[Vout_sz] => 2 // Что это?
[Relayed_by] => 5.9.24.81
[Хэш] => d83b05e28786f37700ee10277dde4e485e38f14b25925944dd60b5c4da73d13c
[Vin_sz] => 1 // Что это?
[Tx_index] => 80634444
[Веры] => 1 // Что это?
[Выход] => массив
(
[0] => StdClass объекта
(
[П] => 0
[Значение] => 1010000 // Я полагаю, это изменить меньше плата за транзакцию
[Адр] => 194QwtJQZjzmacigpJnWMqKWp6GQBh7ZAa
[Tx_index] => 80634444
[Тип] => 0
)
[1] => StdClass объекта
(
[П] => 1
[Значение] => 10000 // это количество я получил
[Адр] => 12TsxgagKmaU4ydLP1PesHFiJHvxyZpo7L
[Tx_index] => 80634444
[Тип] => 0
)
)
[Размер] => 225
)
1
// полный выходной объект
StdClass объекта
(
[Hash160] => 100d7ae73d621b011eabcb91fd5cd368bf53ea18
[Адрес] => 12TsxgagKmaU4ydLP1PesHFiJHvxyZpo7L
[N_tx] => 1
[Total_received] => 10000
[Total_sent] => 0
[Final_balance] => 10000
[TXS] => массив
(
[0] => StdClass объекта
(
[Результат] => 0
[Block_height] => 246159
[Время] => 1373601482
[вход] => массив
(
[0] => StdClass объекта
(
[Prev_out] => StdClass объекта
(
[П] => 0
[Значение] => 1030000
[Адр] => 1B5W3zqE3cfnR6Zz5kDokNr1ur1hcc21Ge
[Tx_index] => 80631906
[Тип] => 0
)
)
)
[Vout_sz] => 2
[Relayed_by] => 5.9.24.81
[Хэш] => d83b05e28786f37700ee10277dde4e485e38f14b25925944dd60b5c4da73d13c
[Vin_sz] => 1
[Tx_index] => 80634444
[Веры] => 1
[Выход] => массив
(
[0] => StdClass объекта
(
[П] => 0
[Значение] => 1010000
[Адр] => 194QwtJQZjzmacigpJnWMqKWp6GQBh7ZAa
[Tx_index] => 80634444
[Тип] => 0
)
[1] => StdClass объекта
(
[П] => 1
[Значение] => 10000
[Адр] => 12TsxgagKmaU4ydLP1PesHFiJHvxyZpo7L
[Tx_index] => 80634444
[Тип] => 0
)
)
[Размер] => 225
)
)
)
1
Я собираюсь выпустить уникальный платежный адрес для всех продаж и получить общие принимаемые войти в мою систему DB / электронной коммерции, но что, если кто-то платит по тому же уникальный адрес. есть лучший способ, что я могу получить сумму фактически получила, а не общие принимаемые? (Как будто кто-то может сломаться вещи, я считаю, что они, как правило, будет)
Любая помощь на всех или совет было бы здорово (и если кто-то находит этот код или нить полезное, большое чувство свободно использовать его)
С наилучшими пожеланиями
брод