Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
26 апреля 2013, 5:38:01 AM   # 1
 
 
Сообщения: 1610
Цитировать по имени
цитировать ответ
по умолчанию Re: Сохранение точности чисел Bitcoin с PHP.

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я пишу обмен в PHP в качестве упражнения, чтобы посмотреть, как они работают, просто упражнение ничего для реального приложения. Я не сделал PHP в течение очень долгого времени я стал настолько ржавые многие основы по-прежнему трудно запомнить.

Я хочу, чтобы сохранить номер, скажем, 87.12471115 Bitcoins как 64bit целое число в MySQL (I), где мое поле имеет тип BIGINT. Я хочу, чтобы хранить его без потери точности, или потребность не округление так, что независимо от того, что номер набран он всегда печатается точно так же, как он был введен, и даже не одна цифра быть выше или ниже.

Как 87.12471115 ввода, а затем извлечение значения, как 87.12471116 или 87.12471114 или даже хуже, 87.13 <-- ПЛОХО.

Так как же я обрабатываю номер? В Bitcoin это умножается на 100000000 (64-бит целого числа), которое сто миллионов.

Код:

$ сумма 
знак равно $ _POST['количество']; // пользователь вошел 87.12471115, который получает истолковано либо как строка или двойной.

// то, что должно быть сделано здесь?

mysqli_query(....); // вставить сумму здесь

Как вы можете видеть, что это либо получает лечение в виде двойной или строки. Как бы процесс двойного целого происходит?
Помните, помните 5 ноября сейчас офлайн Пожаловаться на Помните, помните 5 ноября   Ответить с цитированием Мультицитирование сообщения от Помните помню 5 ноября Быстрый ответ на сообщение Помните, помните 5 ноября


Как заработать Биткоины?
Без вложений. Не майнинг.


26 апреля 2013, 5:46:50 AM   # 2
 
 
Сообщения: 448
Цитировать по имени
цитировать ответ
по умолчанию Re: Сохранение точности чисел Bitcoin с PHP.

Получил 1806 Биткоинов
Реальная история.





Я думаю, что следующее

Код:
$ Amount_int64 = bcmul ($ сумма, '100000000', 0);

EDIT: имейте в виду, BCMath сохраняет большое число как строковые переменные. Так что ваши $ amount_int64 будет строка для PHP.
lucif сейчас офлайн Пожаловаться на lucif   Ответить с цитированием Мультицитирование сообщения от lucif Быстрый ответ на сообщение lucif

26 апреля 2013, 3:26:02 PM   # 3
 
 
Сообщения: 560
Цитировать по имени
цитировать ответ
по умолчанию Re: Сохранение точности чисел Bitcoin с PHP.

Или хранить их как Satoshi. Int на 64-битной системе должно быть достаточно большим, чтобы справиться с ними.
Bitsky сейчас офлайн Пожаловаться на Bitsky   Ответить с цитированием Мультицитирование сообщения от Bitsky Быстрый ответ на сообщение Bitsky



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW