25 июня 2012, 12:35:30 AM   # 1
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Моя работа над «Сырая сделка» API имеет меня трудно думать о вызовах RPC gettransaction / getblock. Я хочу, чтобы это было легко информация, выдаваемая этими вызовами, которые будут использоваться в новой createrawtx / и т.д. API вызовов.

Итак: в версии 0.6.3 и выше, gettransaction бы возвращать информацию только об операциях в кошельке, а не возвращать всю информацию о сделке.

Через месяц или два назад Pieter и Лука написал код, чтобы изменить gettransaction / getblock, чтобы возвратить информацию о любой сделке в blockchain и новый аргумент Object «декомпозиций» был добавлен к этим RPC вызовы, которые позволят вам задать 5 различных способов получить информацию о транзакционные входы и выходы (нет / хэш / гекс / ASM / OBJ). Так что вы можете сделать:
Код:
gettransaction 0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098 «{"скрипт": Шестигранный}»

Я думаю, 5 различных способов получения (или не получить, если не указано «нет») информации-слишком много, так что я изменить код следующим образом:
  • getblock не изменяется от версии 0.6; она возвращает список Идентификаторы транзакций в "Техас" Массив.
  • gettransaction получает дополнительный логический аргумент, что по умолчанию 0 (ложь). Если ненулевой будет принят, то многословным и выводит информацию о входах и выходах транзакций во всех различных форматах (то же, что разложение "OBJ" делает).
  • для совместимости с вызовами «сырые транзакции» API, gettransaction всегда возвращает полные данные транзакции сериализованной-шестигранной-кодироваться как новая "rawtx" поле.
Мышление либо RPC пользователи хотят минимальную информацию быстро, или хотите полную информацию и не будет заботиться больше, если они получают дополнительную информацию. Если вы хотите полную информацию как можно быстрее, то вы должны написать код для декодирования "rawtx" массив самостоятельно.

Это означает получение полной информации для каждой транзакции в блоке означает больше, чем один вызов RPC, но Джефф запрос нагрузочного для JSON-2.0 "партия" звонки, поэтому получать полную информацию о каждой транзакции в блоке будут только два RPC круглодонных поездками (один getblock, то одна партии с кучей gettransaction вызывает в нем).

И понятно: эти изменения призваны быть 100% обратно совместим с getblock / gettransaction в версии 0.6.3 и более ранних версий. Мы говорим о дополнительных аргументах и ​​дополнительной информации в возвращенных объектах JSON.


Пример вывода для сложной операции multisignature testnet:

Короче говоря, в-бумажник сделка:
Код:
$ ./bitcoind -testnet gettransaction 4ec492788efb3c9e4e23972f095bd575217288c9f6b8237922145aeff8dae8d5
{
    "rawtx" : "0100000001c6660657eb258f9e58d246d767f5aaa15980d4d26ee496e7e24fabf72f2cc3440000000048473044022026b2e3d408a7848ad18b35042163c0efb358c456c6006a0cd13c077ec213aeab02202115a38de465e0c927f858cbb83fca45bddb0e469524667e39fd0c54ab5007d701ffffffff0100f2052a0100000017a914b6cb85e6fa58b2bff3da23074eb0f1a0ddb23e1f8700000000",
    "количество" : -50,00000000,
    "плата" : 0.00000000,
    "подтверждения" : 2,
    "blockhash" : "0000000003abdd41db27190bb4f19e36497f647d1ea586ef543c44f7ccd40015",
    "blockindex" : 1,
    "TXID" : "4ec492788efb3c9e4e23972f095bd575217288c9f6b8237922145aeff8dae8d5",
    "время" : 1339001503,
    "Детали" : [
        {
            "Счет" : "",
            "адрес" : "2N9uknE7Zy9M3cPxWvkHu9HQiArL3pnbcUF",
            "категория" : "Отправить",
            "количество" : -50,00000000,
            "плата" : 0.00000000
        }
    ]
}
Подробный:
Код:
$ ./bitcoind -testnet gettransaction 4ec492788efb3c9e4e23972f095bd575217288c9f6b8237922145aeff8dae8d5 1
{
    "rawtx" : "0100000001c6660657eb258f9e58d246d767f5aaa15980d4d26ee496e7e24fabf72f2cc3440000000048473044022026b2e3d408a7848ad18b35042163c0efb358c456c6006a0cd13c077ec213aeab02202115a38de465e0c927f858cbb83fca45bddb0e469524667e39fd0c54ab5007d701ffffffff0100f2052a0100000017a914b6cb85e6fa58b2bff3da23074eb0f1a0ddb23e1f8700000000",
    "версия" : 1,
    "Locktime" : 0,
    "Vin" : [
        {
            "prevout" : {
                "гашиш" : "44c32c2ff7ab4fe2e796e46ed2d48059a1aaf567d746d2589e8f25eb570666c6",
                "N" : 0
            },
            "scriptSig" : {
                "как м" : "3044022026b2e3d408a7848ad18b35042163c0efb358c456c6006a0cd13c077ec213aeab02202115a38de465e0c927f858cbb83fca45bddb0e469524667e39fd0c54ab5007d701",
                "наговор" : "473044022026b2e3d408a7848ad18b35042163c0efb358c456c6006a0cd13c077ec213aeab02202115a38de465e0c927f858cbb83fca45bddb0e469524667e39fd0c54ab5007d701",
                "тип" : "Публичных",
                "адреса" : [
                    "n4DUWe93vkdfAiSVDaMP3okaU7upK2wtrr"
                ]
            },
            "последовательность" : 4294967295
        }
    ],
    "Vout" : [
        {
            "стоимость" : 50.00000000,
            "scriptPubKey" : {
                "как м" : "OP_HASH160 b6cb85e6fa58b2bff3da23074eb0f1a0ddb23e1f OP_EQUAL",
                "наговор" : "a914b6cb85e6fa58b2bff3da23074eb0f1a0ddb23e1f87",
                "reqSigs" : 1,
                "тип" : "scripthash",
                "адреса" : [
                    "2N9uknE7Zy9M3cPxWvkHu9HQiArL3pnbcUF"
                ]
            }
        }
    ],
    "количество" : -50,00000000,
    "плата" : 0.00000000,
    "подтверждения" : 2,
    "blockhash" : "0000000003abdd41db27190bb4f19e36497f647d1ea586ef543c44f7ccd40015",
    "blockindex" : 1,
    "TXID" : "4ec492788efb3c9e4e23972f095bd575217288c9f6b8237922145aeff8dae8d5",
    "время" : 1339001503,
    "Детали" : [
        {
            "Счет" : "",
            "адрес" : "2N9uknE7Zy9M3cPxWvkHu9HQiArL3pnbcUF",
            "категория" : "Отправить",
            "количество" : -50,00000000,
            "плата" : 0.00000000
        }
    ]
}

Единственная функция, которая беспокоит меня, отчетность «адрес / типа» для входов транзакций. Это беспокоит меня по двум причинам:

1) Это дорого, чтобы извлечь эти данные, потому что это означает нахождение предыдущей транзакции в blockchain и извлечения его с диска. Это нарушает принцип, согласно которому "функция не должна стоить вам ничего, если вы его не используете."

2) Если "мы" осуществлять отработанные входную обрезку (Pieter имеют некоторые фантастические ранние результаты), что данные не могут существовать.

Я думаю, что было бы лучше, чтобы удалить «адрес / тип» информацию с выхода gettransaction, так gettransaction не имеет для поиска предыдущих операций.

Если вы заботитесь о предыдущей сделке, то вы должны вызвать gettransaction снова, используя vin.prevout.hash искать их (и, опять же, с помощью функции JSON-2.0 «партии» для поиска всех предыдущих транзакций в одном RPC в обе стороны).

Если / когда сделка обрезка происходит тогда семантика ясно: что gettransaction возвратит ошибку, если перед сделка была обрезке.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен


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


25 июня 2012, 10:01:04 AM   # 2
 
 
Сообщения: 2212
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

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





Будет ли возможность иметь алгоритм обрезки / метод, который до сих пор хранит транзакцию хэши для каждого блока, так что если я подрезать сделки "123abc" из моей базы данных, я все еще знаю, что это было в блоке 12345 и может запросить, что полный блок от сети в конце концов? Или это может быть так, что вся сеть обрезки прочь этой транзакции, и все, что осталось это хэш (насколько я понял, что это как объединенные горные работы, например).

Я лично очень хотел бы видеть также входные адреса или по крайней мере очень простой способ, чтобы добраться до них. Что было немного запутанным для меня, например, был случай, когда у меня есть входной сделки, которая фактически пошла по нескольким адресам (10 BTC до 1bitcoin123 и 20 BTC до 1bitcoin234). Как то легко определить, какой из этих 2-х выходов был использован в качестве входных данных для моей реальной сделки я заинтересован в?
Sukrim сейчас офлайн Пожаловаться на Sukrim   Ответить с цитированием Мультицитирование сообщения от Sukrim Быстрый ответ на сообщение Sukrim

25 июня 2012, 4:00:42 PM   # 3
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Через месяц или два назад Pieter и Лука написал код, чтобы изменить gettransaction / getblock, чтобы возвратить информацию о любой сделке в blockchain и новый аргумент Object «декомпозиций» был добавлен к этим RPC вызовы, которые позволят вам задать 5 различных способов получить информацию о транзакционные входы и выходы (нет / хэш / гекс / ASM / OBJ). Так что вы можете сделать:
Код:
gettransaction 0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098 «{"скрипт": Шестигранный}»

Я думаю, 5 различных способов получения (или не получить, если не указано «нет») информации-слишком много, так что я изменить код следующим образом:
Как насчет того, не снимая столь необходимую функциональность (заставляя людей вернуться к заплат bitcoind, чтобы добавить его, вместо того, чтобы быть в состоянии просто использовать его ваниль / немодифицированного) против общего консенсуса (если первоначально принес это на IRC, я не» т думает, что кто согласился с удалением его)? Он был добавлен по уважительной причине, и должен оставаться ... что хорошая причина есть, чтобы сделать вещи медленнее, более сложны в использовании, и менее гибким?

Это означает получение полной информации для каждой транзакции в блоке означает больше, чем один вызов RPC, но Джефф запрос нагрузочного для JSON-2.0 "партия" звонки, поэтому получать полную информацию о каждой транзакции в блоке будут только два RPC круглодонных поездками (один getblock, то одна партии с кучей gettransaction вызывает в нем).
Это не помогает в большинстве случаев использования на всех.
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

25 июня 2012, 4:37:13 PM   # 4
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Пример...

getblock, как сейчас в пре-0,7, с разбиений: (1 команда, которая возвращает запрошенную информацию)
Код:
$ Bitcoind getblock 000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16 «{"Техас":"OBJ", "скрипт":"как м"}»
{
    "гашиш" : "000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16",
    "подтверждения" : 43,
    "размер" : 1473,
    "высота" : 186154,
    "версия" : 1,
    "merkleroot" : "47de80c28529a69bddefb90ea15388f10e2647482560bb50857e7b586d45a8c3",
    "время" : 1340614357,
    "данное время" : 728350342,
    "биты" : "1a09b78a",
    "трудность" : 1726566.55919348,
    "Техас" : [
        {
            "TXID" : "11af9ba807942f7db6274f40442651c7b58b02b0a942867847b2b8a3932df7b1",
            "версия" : 1,
            "Locktime" : 0,
            "размер" : 142,
            "Vin" : [
                {
                    "coinbase" : "048ab7091a027702062f503253482f",
                    "последовательность" : 4294967295
                }
            ],
            "Vout" : [
                {
                    "стоимость" : 50.00000000,
                    "scriptPubKey" : "04b034ecbcbe86f327d2edd25ce1fce3f4463710c00ae00d1a25198bab882be95c72d3468dc6931f756b03d99a3b7f3a07543834370ad023b37cb1127c6266d91a OP_CHECKSIG"
                }
            ],
            "подтверждения" : 0
        },
        {
            "TXID" : "9fb85b2c9085284a6c39407025cbec31b4c88b1075f3d98840395bc4e389616d",
            "версия" : 1,
            "Locktime" : 0,
            "размер" : 259,
            "Vin" : [
                {
                    "prevout" : {
                        "гашиш" : "1f16f657fb093f4618c1ad6504130d08fa71bb1964d0be5574f44011124f7b64",
                        "N" : 1
                    },
                    "scriptSig" : "3046022100dea86a40b8ffcfa446e05886e18c7ea8bca371118da48d4adfde846b87af43190221009652d86f7013afd35311fe8d080c9e592758716c08e971c39283ca08746db78501 04a1ce79a9fec1018129bb79c19dc90dcb4657e8cf725c635909ea402143b64e84fb06bf0b2c96ca6f0db9ac8ae480399f7724a9b288faf52c16d1535f13b90fe6",
                    "последовательность" : 4294967295
                }
            ],
            "Vout" : [
                {
                    "стоимость" : 1066.13121507,
                    "scriptPubKey" : "OP_DUP OP_HASH160 e51a349be7044a8d84c6e8370ff56ff6860f3597 OP_EQUALVERIFY OP_CHECKSIG"
                },
                {
                    "стоимость" : 1242.21306062,
                    "scriptPubKey" : "OP_DUP OP_HASH160 51fb66b01bcdbcdc67049fa97a8da21a2fa912e0 OP_EQUALVERIFY OP_CHECKSIG"
                }
            ],
            "подтверждения" : 0
        },
        {
            "TXID" : "060cbd899b2c1fac0cdbcf580a3f90aae131b16d516f049baf1d13c66e410892",
            "версия" : 1,
            "Locktime" : 0,
            "размер" : 226,
            "Vin" : [
                {
                    "prevout" : {
                        "гашиш" : "f2b6efbef50c026efc19dac73ed787b0ccc1697c8640e96637ab861e85afca60",
                        "N" : 0
                    },
                    "scriptSig" : "3045022100a0be436cb85b899740792206a17658ef96e6d786e53448cab8b11f9e51be96a6022063ab6d9337fa71b9d5a75e3ebe0a33c151ad6cdca70f9170c1b0297d655c5b3301 022cb39adb02162270b89b08975256293182bcaa84622d18a30c3bd72751d4ddd5",
                    "последовательность" : 4294967295
                }
            ],
            "Vout" : [
                {
                    "стоимость" : 1.40018289,
                    "scriptPubKey" : "OP_DUP OP_HASH160 d6211f74851b1cc1d181d0fe591445a18f49c818 OP_EQUALVERIFY OP_CHECKSIG"
                },
                {
                    "стоимость" : 1.00000000,
                    "scriptPubKey" : "OP_DUP OP_HASH160 713c581950bbfb0545f1418bbfe825911e8efa5c OP_EQUALVERIFY OP_CHECKSIG"
                }
            ],
            "подтверждения" : 0
        },
        {
            "TXID" : "2da6e2a83abe9e870a3a4762d8159e523a3068cce26c5670afdcd2c63486a1ac",
            "версия" : 1,
            "Locktime" : 0,
            "размер" : 765,
            "Vin" : [
                {
                    "prevout" : {
                        "гашиш" : "9aa47d859bda3eba62fd366461adda78f6df3293dd7b1681361f54531220b378",
                        "N" : 2
                    },
                    "scriptSig" : "3046022100f10d0f6fc6ce90ae97a04627a659791b1caed48aae8d70b82c73c5c730758576022100aba76d54166189b50e678faac63a4265d6d2daf48889a23a1fc285e042fb9c8901 04addfdfd09989768bc93678fd4eca1bf8d485e98690b7584a7559ab30a63ac16fd33e8e7db59f72c21b402a78bacbde205d642e60037d8b660a57341a60c4e646",
                    "последовательность" : 4294967295
                },
                {
                    "prevout" : {
                        "гашиш" : "125ea4a6f9e86333de7566af28e6a5558a2c66e5c41b197560bd9a8e6c56866b",
                        "N" : 0
                    },
                    "scriptSig" : "3045022100c9e3d69de5bcbb9252b2b637e6846eaef971959653c887e7bb13f6528f1587f2022059d47b80f98460c0a02a9f7a7977202533fe3566a1cbecc599b122af02a8b8ac01 04a875f1a901e23be1435350f1a94820f84f590e297c0a34e393b873ac5b3182d071ca43890a54c750ad2fd6288416a319e70e48f2c2d2fe828666cfc98689ce0e",
                    "последовательность" : 4294967295
                },
                {
                    "prevout" : {
                        "гашиш" : "e2b9a62cd1ad312f510510bf071ae0079b6b858db8b43e86809b7269d8ad1ff7",
                        "N" : 1
                    },
                    "scriptSig" : "3045022100a198dea14374a5d0584cfedeb8f6a457556b9bdd0488c433b179ad328a007c7102200a3179f1b8a95ae4e02183c25fb3234f1efe0db9129806d38579b2845e77a11801 047b19a9c3e6b0a92e9bdeeb294ebea709dd1d9b5e2ccb7e1fb03ca6bfa43b78dd0a6d72ddd9e64130513d63dc1ea5609906a15f1d3044f50ee6415b2e4eaf59e4",
                    "последовательность" : 4294967295
                },
                {
                    "prevout" : {
                        "гашиш" : "b6548149a182fd10330b9f69024bdd55ce521ce367e9125d1bd8c91a8c5539da",
                        "N" : 0
                    },
                    "scriptSig" : "30450220670628b426d996131f064bb861554e31bd3afcdc581ae9824af1610dcc079080022100d240e2f445670f8e2be82f5fc74dfbc98312f0adb5f2ec163449588bdd8e9f8401 045c7e935730d0a7e45615e4a5df7c50b8bdde7fad7c978c569563b5451a756710d7dc0f1a248bd233467f17dd28e27484a91c0af4123c131b87d959dd37850692",
                    "последовательность" : 4294967295
                }
            ],
            "Vout" : [
                {
                    "стоимость" : 0.19950871,
                    "scriptPubKey" : "OP_DUP OP_HASH160 c6b92e0b69d3a7aa53a28e2bc5a6de3f32fbff5a OP_EQUALVERIFY OP_CHECKSIG"
                }
            ],
            "подтверждения" : 0
        }
    ],
    "previousblockhash" : "00000000000006d68b5d22acef2a43b38dc692782d7c12c0ae43259b9eb46078",
    "nextblockhash" : "000000000000023b6a46f950ef1ccd08519c2e26208d1af157c6e7fa541bd043"
}



С помощью этой функциональности удалены корректировками, Gavin предлагает, теперь нужно 1 + N вызовов (N = количество сделок в блоке), прежде чем у вас есть данные, и те, N называет все сделать намного больше дискового ввода / вывода, поскольку они возвращают больше информации, чем вы обязательно:
Код:
$ Bitcoind getblock 000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16
{
    "гашиш" : "000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16",
    "подтверждения" : 43,
    "размер" : 1473,
    "высота" : 186154,
    "версия" : 1,
    "merkleroot" : "47de80c28529a69bddefb90ea15388f10e2647482560bb50857e7b586d45a8c3",
    "время" : 1340614357,
    "данное время" : 728350342,
    "биты" : "1a09b78a",
    "трудность" : 1726566.55919348,
    "Техас" : [
        "11af9ba807942f7db6274f40442651c7b58b02b0a942867847b2b8a3932df7b1",
        "9fb85b2c9085284a6c39407025cbec31b4c88b1075f3d98840395bc4e389616d",
        "060cbd899b2c1fac0cdbcf580a3f90aae131b16d516f049baf1d13c66e410892",
        "2da6e2a83abe9e870a3a4762d8159e523a3068cce26c5670afdcd2c63486a1ac"
    ],
    "previousblockhash" : "00000000000006d68b5d22acef2a43b38dc692782d7c12c0ae43259b9eb46078",
    "nextblockhash" : "000000000000023b6a46f950ef1ccd08519c2e26208d1af157c6e7fa541bd043"
}
Теперь для каждой операции ...
Код:
$ Bitcoind gettransaction 11af9ba807942f7db6274f40442651c7b58b02b0a942867847b2b8a3932df7b1 1
{
    "TXID" : "11af9ba807942f7db6274f40442651c7b58b02b0a942867847b2b8a3932df7b1",
    "версия" : 1,
    "Locktime" : 0,
    "размер" : 142,
    "Vin" : [
        {
            "coinbase" : "048ab7091a027702062f503253482f",
            "последовательность" : 4294967295
        }
    ],
    "Vout" : [
        {
            "стоимость" : 50.00000000,
            "scriptPubKey" : {
                "как м" : "04b034ecbcbe86f327d2edd25ce1fce3f4463710c00ae00d1a25198bab882be95c72d3468dc6931f756b03d99a3b7f3a07543834370ad023b37cb1127c6266d91a OP_CHECKSIG",
                "наговор" : "4104b034ecbcbe86f327d2edd25ce1fce3f4463710c00ae00d1a25198bab882be95c72d3468dc6931f756b03d99a3b7f3a07543834370ad023b37cb1127c6266d91aac",
                "reqSigs" : 1,
                "тип" : "Публичных",
                "адреса" : [
                    "1NPPwnUg9jweJEYS9q6haxixuzuYTk78Am"
                ]
            }
        }
    ],
    "blockhash" : "000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16",
    "подтверждения" : 43,
    "время" : 1340614357
}
Код:
$ Bitcoind gettransaction 9fb85b2c9085284a6c39407025cbec31b4c88b1075f3d98840395bc4e389616d 1
{
    "TXID" : "9fb85b2c9085284a6c39407025cbec31b4c88b1075f3d98840395bc4e389616d",
    "версия" : 1,
    "Locktime" : 0,
    "размер" : 259,
    "Vin" : [
        {
            "prevout" : {
                "гашиш" : "1f16f657fb093f4618c1ad6504130d08fa71bb1964d0be5574f44011124f7b64",
                "N" : 1
            },
            "scriptSig" : {
                "как м" : "3046022100dea86a40b8ffcfa446e05886e18c7ea8bca371118da48d4adfde846b87af43190221009652d86f7013afd35311fe8d080c9e592758716c08e971c39283ca08746db78501 04a1ce79a9fec1018129bb79c19dc90dcb4657e8cf725c635909ea402143b64e84fb06bf0b2c96ca6f0db9ac8ae480399f7724a9b288faf52c16d1535f13b90fe6",
                "наговор" : "493046022100dea86a40b8ffcfa446e05886e18c7ea8bca371118da48d4adfde846b87af43190221009652d86f7013afd35311fe8d080c9e592758716c08e971c39283ca08746db785014104a1ce79a9fec1018129bb79c19dc90dcb4657e8cf725c635909ea402143b64e84fb06bf0b2c96ca6f0db9ac8ae480399f7724a9b288faf52c16d1535f13b90fe6",
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1b8C6zVAsmKT28Zefkn4kLvj9Suw9q4bm"
                ]
            },
            "последовательность" : 4294967295
        }
    ],
    "Vout" : [
        {
            "стоимость" : 1066.13121507,
            "scriptPubKey" : {
                "как м" : "OP_DUP OP_HASH160 e51a349be7044a8d84c6e8370ff56ff6860f3597 OP_EQUALVERIFY OP_CHECKSIG",
                "наговор" : "76a914e51a349be7044a8d84c6e8370ff56ff6860f359788ac",
                "reqSigs" : 1,
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1MtP8ijPPJZrjZ5TamYvD5Jk3ZEoxkXwKc"
                ]
            }
        },
        {
            "стоимость" : 1242.21306062,
            "scriptPubKey" : {
                "как м" : "OP_DUP OP_HASH160 51fb66b01bcdbcdc67049fa97a8da21a2fa912e0 OP_EQUALVERIFY OP_CHECKSIG",
                "наговор" : "76a91451fb66b01bcdbcdc67049fa97a8da21a2fa912e088ac",
                "reqSigs" : 1,
                "тип" : "pubkeyhash",
                "адреса" : [
                    "18UUuCHm23GTw6Vkiu1MuuFRDFXWXHiPNh"
                ]
            }
        }
    ],
    "blockhash" : "000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16",
    "подтверждения" : 43,
    "время" : 1340614357
}
Код:
$ Bitcoind gettransaction 060cbd899b2c1fac0cdbcf580a3f90aae131b16d516f049baf1d13c66e410892 1
{
    "TXID" : "060cbd899b2c1fac0cdbcf580a3f90aae131b16d516f049baf1d13c66e410892",
    "версия" : 1,
    "Locktime" : 0,
    "размер" : 226,
    "Vin" : [
        {
            "prevout" : {
                "гашиш" : "f2b6efbef50c026efc19dac73ed787b0ccc1697c8640e96637ab861e85afca60",
                "N" : 0
            },
            "scriptSig" : {
                "как м" : "3045022100a0be436cb85b899740792206a17658ef96e6d786e53448cab8b11f9e51be96a6022063ab6d9337fa71b9d5a75e3ebe0a33c151ad6cdca70f9170c1b0297d655c5b3301 022cb39adb02162270b89b08975256293182bcaa84622d18a30c3bd72751d4ddd5",
                "наговор" : "483045022100a0be436cb85b899740792206a17658ef96e6d786e53448cab8b11f9e51be96a6022063ab6d9337fa71b9d5a75e3ebe0a33c151ad6cdca70f9170c1b0297d655c5b330121022cb39adb02162270b89b08975256293182bcaa84622d18a30c3bd72751d4ddd5",
                "тип" : "pubkeyhash",
                "адреса" : [
                    "12azr4VhoodQC1PHvsKzS74Meq5S8gEn6j"
                ]
            },
            "последовательность" : 4294967295
        }
    ],
    "Vout" : [
        {
            "стоимость" : 1.40018289,
            "scriptPubKey" : {
                "как м" : "OP_DUP OP_HASH160 d6211f74851b1cc1d181d0fe591445a18f49c818 OP_EQUALVERIFY OP_CHECKSIG",
                "наговор" : "76a914d6211f74851b1cc1d181d0fe591445a18f49c81888ac",
                "reqSigs" : 1,
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1LXDHUDL6f84TqQfbxzeNXtsWmmWN8W2o2"
                ]
            }
        },
        {
            "стоимость" : 1.00000000,
            "scriptPubKey" : {
                "как м" : "OP_DUP OP_HASH160 713c581950bbfb0545f1418bbfe825911e8efa5c OP_EQUALVERIFY OP_CHECKSIG",
                "наговор" : "76a914713c581950bbfb0545f1418bbfe825911e8efa5c88ac",
                "reqSigs" : 1,
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1BKjeTja7iL3ArMKyQM6tSpLXqjtcKc4a1"
                ]
            }
        }
    ],
    "blockhash" : "000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16",
    "подтверждения" : 43,
    "время" : 1340614357
}
Код:
$ Bitcoind gettransaction 2da6e2a83abe9e870a3a4762d8159e523a3068cce26c5670afdcd2c63486a1ac 1
{
    "TXID" : "2da6e2a83abe9e870a3a4762d8159e523a3068cce26c5670afdcd2c63486a1ac",
    "версия" : 1,
    "Locktime" : 0,
    "размер" : 765,
    "Vin" : [
        {
            "prevout" : {
                "гашиш" : "9aa47d859bda3eba62fd366461adda78f6df3293dd7b1681361f54531220b378",
                "N" : 2
            },
            "scriptSig" : {
                "как м" : "3046022100f10d0f6fc6ce90ae97a04627a659791b1caed48aae8d70b82c73c5c730758576022100aba76d54166189b50e678faac63a4265d6d2daf48889a23a1fc285e042fb9c8901 04addfdfd09989768bc93678fd4eca1bf8d485e98690b7584a7559ab30a63ac16fd33e8e7db59f72c21b402a78bacbde205d642e60037d8b660a57341a60c4e646",
                "наговор" : "493046022100f10d0f6fc6ce90ae97a04627a659791b1caed48aae8d70b82c73c5c730758576022100aba76d54166189b50e678faac63a4265d6d2daf48889a23a1fc285e042fb9c89014104addfdfd09989768bc93678fd4eca1bf8d485e98690b7584a7559ab30a63ac16fd33e8e7db59f72c21b402a78bacbde205d642e60037d8b660a57341a60c4e646",
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1LZvjABG38RPcuCc2z3zGP7xpemXyTqroo"
                ]
            },
            "последовательность" : 4294967295
        },
        {
            "prevout" : {
                "гашиш" : "125ea4a6f9e86333de7566af28e6a5558a2c66e5c41b197560bd9a8e6c56866b",
                "N" : 0
            },
            "scriptSig" : {
                "как м" : "3045022100c9e3d69de5bcbb9252b2b637e6846eaef971959653c887e7bb13f6528f1587f2022059d47b80f98460c0a02a9f7a7977202533fe3566a1cbecc599b122af02a8b8ac01 04a875f1a901e23be1435350f1a94820f84f590e297c0a34e393b873ac5b3182d071ca43890a54c750ad2fd6288416a319e70e48f2c2d2fe828666cfc98689ce0e",
                "наговор" : "483045022100c9e3d69de5bcbb9252b2b637e6846eaef971959653c887e7bb13f6528f1587f2022059d47b80f98460c0a02a9f7a7977202533fe3566a1cbecc599b122af02a8b8ac014104a875f1a901e23be1435350f1a94820f84f590e297c0a34e393b873ac5b3182d071ca43890a54c750ad2fd6288416a319e70e48f2c2d2fe828666cfc98689ce0e",
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1QHeEZ5akUif9nuTj1MpRXrvEYHnbcR3Gy"
                ]
            },
            "последовательность" : 4294967295
        },
        {
            "prevout" : {
                "гашиш" : "e2b9a62cd1ad312f510510bf071ae0079b6b858db8b43e86809b7269d8ad1ff7",
                "N" : 1
            },
            "scriptSig" : {
                "как м" : "3045022100a198dea14374a5d0584cfedeb8f6a457556b9bdd0488c433b179ad328a007c7102200a3179f1b8a95ae4e02183c25fb3234f1efe0db9129806d38579b2845e77a11801 047b19a9c3e6b0a92e9bdeeb294ebea709dd1d9b5e2ccb7e1fb03ca6bfa43b78dd0a6d72ddd9e64130513d63dc1ea5609906a15f1d3044f50ee6415b2e4eaf59e4",
                "наговор" : "483045022100a198dea14374a5d0584cfedeb8f6a457556b9bdd0488c433b179ad328a007c7102200a3179f1b8a95ae4e02183c25fb3234f1efe0db9129806d38579b2845e77a1180141047b19a9c3e6b0a92e9bdeeb294ebea709dd1d9b5e2ccb7e1fb03ca6bfa43b78dd0a6d72ddd9e64130513d63dc1ea5609906a15f1d3044f50ee6415b2e4eaf59e4",
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1NKFnJFA65FA5KyiptKsPyQVabPvGpnvNk"
                ]
            },
            "последовательность" : 4294967295
        },
        {
            "prevout" : {
                "гашиш" : "b6548149a182fd10330b9f69024bdd55ce521ce367e9125d1bd8c91a8c5539da",
                "N" : 0
            },
            "scriptSig" : {
                "как м" : "30450220670628b426d996131f064bb861554e31bd3afcdc581ae9824af1610dcc079080022100d240e2f445670f8e2be82f5fc74dfbc98312f0adb5f2ec163449588bdd8e9f8401 045c7e935730d0a7e45615e4a5df7c50b8bdde7fad7c978c569563b5451a756710d7dc0f1a248bd233467f17dd28e27484a91c0af4123c131b87d959dd37850692",
                "наговор" : "4830450220670628b426d996131f064bb861554e31bd3afcdc581ae9824af1610dcc079080022100d240e2f445670f8e2be82f5fc74dfbc98312f0adb5f2ec163449588bdd8e9f840141045c7e935730d0a7e45615e4a5df7c50b8bdde7fad7c978c569563b5451a756710d7dc0f1a248bd233467f17dd28e27484a91c0af4123c131b87d959dd37850692",
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1ELrvtvpwPEwGcsEQLuv6At6GCDwoXYdEz"
                ]
            },
            "последовательность" : 4294967295
        }
    ],
    "Vout" : [
        {
            "стоимость" : 0.19950871,
            "scriptPubKey" : {
                "как м" : "OP_DUP OP_HASH160 c6b92e0b69d3a7aa53a28e2bc5a6de3f32fbff5a OP_EQUALVERIFY OP_CHECKSIG",
                "наговор" : "76a914c6b92e0b69d3a7aa53a28e2bc5a6de3f32fbff5a88ac",
                "reqSigs" : 1,
                "тип" : "pubkeyhash",
                "адреса" : [
                    "1K7kdWH4t2oetwtPEAzm7zFBnbUSjTWfd8"
                ]
            }
        }
    ],
    "blockhash" : "000000000000010c5ba86d05c6f43df46921d453d23fdafe85229f6a7d840e16",
    "подтверждения" : 43,
    "время" : 1340614357
}
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

26 июня 2012, 1:40:10 AM   # 5
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Больше дискуссий в IRC сегодня побудили дальнейшие щипки к этому API:

"получить любую сделку, даже операции, которые не в кошельке" функциональные возможности будут перемещены из gettransaction на новый API вызова «getrawtransaction», по двум причинам:
1. Это не «чувствовать» право смешивать данные высокого уровня с суровыми буднями низкоуровневых деталей.
2. Мы считаем, что есть потенциал для уязвимостей, если есть существующие услуги, которые предполагают, что «gettransaction TXID» возвращает ошибку для любой сделки не в кошельке (как это делает во всех предыдущих версиях).

Таким образом, новый план, чтобы поставить новые функциональные возможности нового вызова RPC:

getrawtransaction [Многословный = 0]: Если многословная = 0, возвращает JSON строки, которая является гекс-кодировано, в последовательной форме транзакции. Это "машиносчитываемый, как можно более краткий" использовать случай. Если многословные = 1, возвращает объект JSON со всеми мельчайшими деталями, чтобы покрыть все другие случаи использования.

Кроме того, Джефф уже есть запрос нагрузочного для JSON-2.0 "партия" функциональность, так что если вам нужна информация обо всех сделках, в блоке или все родительских сделки Сделки, в которые Вы можете получить его один RPC редиректа.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

26 июня 2012, 3:42:20 PM   # 6
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Просто личное мнение больше, чем что-либо еще, но я думаю, что это

котировка
Каждый выход представляет собой 5-элемент массива А, это [TXID, выход, scriptPubKey, количество, подтверждений]

должна быть массивом объекта, а не массив массива так, что он в основном соответствует выходу listtransactions.

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

26 июня 2012, 10:15:09 PM   # 7
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Я в основном работаю в C #, но я уверен, что это правда и для других языков, создание структуры данных, которые вы можете десериализацию массива различных типов в и легко работать с это ... больно.
Отличная точка. Я использую Python, который просто работает с различными типами в массивах, и C ++ / json_spirit, который также просто работает, но я могу, что другие языки будет болезненным.

Я пройду необработанные операции API и заменю любой "Массив различных типов" с "Массив объектов",
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

27 июня 2012, 4:22:16 PM   # 8
 
 
Сообщения: 488
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Больше дискуссий в IRC сегодня побудили дальнейшие щипки к этому API:

"получить любую сделку, даже операции, которые не в кошельке" функциональные возможности будут перемещены из gettransaction на новый API вызова «getrawtransaction», по двум причинам:
1. Это не «чувствовать» право смешивать данные высокого уровня с суровыми буднями низкоуровневых деталей.
2. Мы считаем, что есть потенциал для уязвимостей, если есть существующие услуги, которые предполагают, что «gettransaction TXID» возвращает ошибку для любой сделки не в кошельке (как это делает во всех предыдущих версиях).

Таким образом, новый план, чтобы поставить новые функциональные возможности нового вызова RPC:

getrawtransaction [Многословный = 0]: Если многословная = 0, возвращает JSON строки, которая является гекс-кодировано, в последовательной форме транзакции. Это "машиносчитываемый, как можно более краткий" использовать случай. Если многословные = 1, возвращает объект JSON со всеми мельчайшими деталями, чтобы покрыть все другие случаи использования.

Кроме того, Джефф уже есть запрос нагрузочного для JSON-2.0 "партия" функциональность, так что если вам нужна информация обо всех сделках, в блоке или все родительских сделки Сделки, в которые Вы можете получить его один RPC редиректа.

Спасибо Devs, это здорово!
Есть еще некоторая информация об этом пакетном режиме доступна? Будет ли это также можно запросить в одном вызове информации о многих несвязанных передатчиках (потому что вы упоминаете "все операции в блоке"...)?
Герберт сейчас офлайн Пожаловаться на Herbert   Ответить с цитированием Мультицитирование сообщения от Herbert Быстрый ответ на сообщение Herbert

27 июня 2012, 5:45:07 PM   # 9
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Спасибо Devs, это здорово!
Есть еще некоторая информация об этом пакетном режиме доступна? Будет ли это также можно запросить в одном вызове информации о многих несвязанных передатчиках (потому что вы упоминаете "все операции в блоке"...)?

Видеть "Пакетный режим" в JSON 2.0 спецификации: http://www.jsonrpc.org/specification

Да, вы можете запросить информацию о многих несвязанных операциях в одном вызове.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

26 июля 2012, 4:45:55 AM   # 10
 
 
Сообщения: 980
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

В заключение! Я могу написать мой собственный Bitcoind к БД MySQL систем с небольшим усилием
Xenland сейчас офлайн Пожаловаться на Xenland   Ответить с цитированием Мультицитирование сообщения от Xenland Быстрый ответ на сообщение Xenland

5 апреля 2013, 1:37:52 PM   # 11
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Здравствуйте.

Я наткнулся на эту старую нить при исследовании о bitcoind.

Является ли разложение с getblock возможно в новейшем (0.8.1) bitcoind? И если да, то как? (Ваши варианты возврата только ошибки.)
работает сейчас офлайн Пожаловаться на ход   Ответить с цитированием Мультицитирование сообщения от бега Быстрый ответ на сообщение бегущий

5 апреля 2013, 1:47:17 PM   # 12
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: 0,7 gettransaction / getblock вызовов RPC

Гектометр Сравнивая эту просьбу тянущей

https://github.com/bitcoin/bitcoin/pull/886/files

и сравнивая его с кодом здесь

https://github.com/bitcoin/bitcoin/blob/master/src/bitcoinrps.cpp
https://github.com/bitcoin/bitcoin/blob/master/src/rpcblockchain.cpp

кажется, что это НЕ возможно сегодня. Ну что ж. Я буду делать это на операции к операции основе. (Я хотел использовать Blockchain.info API, но они загадочным образом отсутствуют некоторые блоки из своих результатов API. Ну да ладно.)
работает сейчас офлайн Пожаловаться на ход   Ответить с цитированием Мультицитирование сообщения от бега Быстрый ответ на сообщение бегущий



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW