Это сказало, многие библиотеки умные - такие, как
Янссон -- и будет оценивать число непосредственно в целое число.
Из Янссон документы:
"целые числа, чьи абсолютные значения слишком велики, чтобы быть представленными в типе Int приведут к ошибке переполнения"
Как я уже говорил в теме про возможно изменение кривой ECDSA Bitcoin использует, программисты любят решать "проблемы" что они знают, что они могут решить, и что они думают, что будет делать вещи немного лучше. Но, по моему скромному мнению, если вы не решить важную проблему изменить положение вещей, потому что вы думаете, что вы знаете, как это часто плохая идея.
Это идеальный пример: изменить RPC, чтобы выплюнуть 64-битные целые числа (или перейти на новый RPC, который выплевывает целые числа) и кто-нибудь с помощью Jansson на 32-разрядной платформе Int получит ошибку переполнения.
Я вроде как предложение tcatm, чтобы определить новые методы RPC, которые определяют базовый блок с помощью строки ... но потом я подумал о нем:
Мы могли бы использовать научные обозначения, так что 1 BTC будет 1e08 базовых величин; затем, если мы когда-нибудь нужно больше точности интерфейс JSON не изменит, вы можете просто указать 1e-03 в качестве значения ....
... но это именно то, что мы имеем сейчас. 1 BTC является 1e00, 1 базовый блок 1e-08, и если мы когда-нибудь нужно больше точности интерфейс JSON готов.