Title: transactionrecord CWalletTx &wtx help! Post by: info_infoman on October 06, 2014, 10:33:31 AM подскажите пжлст
вкладка "транзакции" там отображаются транзакции находящиеся на стадии генерации? (mempool) и отображаются ли там транзакции входящие которые еще не приняты в блок (на стадии генерации) на эту мысль меня натолкнул этот кусок кода в transactionrecord.cpp я правильно понимаю что туда падают транзакции еще даже не включенные в блок?: Code: // For generated transactions, determine maturity Title: Re: transactionrecord CWalletTx &wtx help! Post by: amaclin on October 06, 2014, 12:39:49 PM Не очень понял вопрос.
Но в мемпуле транзакции, которые еще не включены в блок. Да. Что значит "на стадии генерации"? Неподписанные чтоли? Ну это вообще не транзакции собственно, а набор байтов. (Что означает данный код - я понять не могу - не разбирался конкретно с этим) Title: Re: transactionrecord CWalletTx &wtx help! Post by: Sheogorath on October 06, 2014, 02:17:19 PM Но в мемпуле транзакции, которые еще не включены в блок. Да. +1И внимание, транзакция может исчезнуть из основной цепочки блоков при реорганизации. Title: Re: transactionrecord CWalletTx &wtx help! Post by: amaclin on October 06, 2014, 02:30:36 PM Quote И внимание, транзакция может исчезнуть из основной цепочки блоков при реорганизации. Ну, да. Причем она в этом случае может как вытряхнуться в мемпул, так и вообще оказаться конфликтущей с уже имеющимися в мемпуле и даже в мейнчейне - тогда клиент её просто отбрасывает.Title: Re: transactionrecord CWalletTx &wtx help! Post by: Sheogorath on October 06, 2014, 03:00:09 PM Ну, да. Причем она в этом случае может как вытряхнуться в мемпул, так и вообще оказаться конфликтущей с уже имеющимися в мемпуле и даже в мейнчейне - тогда клиент её просто отбрасывает. Там какая-то непонятная логика, у меня на форках иногда сгенерированный блок совсем пропадал из списка, а иногда оставался висеть как неподтверждённый.Title: Re: transactionrecord CWalletTx &wtx help! Post by: amaclin on October 06, 2014, 03:19:29 PM Quote Там какая-то непонятная логика, у меня на форках иногда сгенерированный блок совсем пропадал из списка, а иногда оставался висеть как неподтверждённый. Ээээ! Полегче! Что такое неподтвержденный блок? Орфан что ли?Если у вас блоки 100500-100501-100502... И тут приходит блок 100504 (а пятьсот третьего нет) то клиент вообще говоря просто его может выкинуть и ждать, когда придет сперва пятьсот третий, а потом от той же ноды и пятьсот четвертый Куда клиент сует орфан-блок - это его собачье дело. Может сохранять, может отбрасывать Важно то, что орфан-блок никак не влияет на мемпул и мейнчейн Title: Re: transactionrecord CWalletTx &wtx help! Post by: Sheogorath on October 06, 2014, 03:26:38 PM Quote Там какая-то непонятная логика, у меня на форках иногда сгенерированный блок совсем пропадал из списка, а иногда оставался висеть как неподтверждённый. Ээээ! Полегче! Что такое неподтвержденный блок? Орфан что ли?Если у вас блоки 100500-100501-100502... И тут приходит блок 100504 (а пятьсот третьего нет) то клиент вообще говоря просто его может выкинуть и ждать, когда придет сперва пятьсот третий, а потом от той же ноды и пятьсот четвертый Куда клиент сует орфан-блок - это его собачье дело. Может сохранять, может отбрасывать Важно то, что орфан-блок никак не влияет на мемпул и мейнчейн Что-то не то с терминами, орфан, по идее, блок без предка. А как выкинутый от реорганизации блок называется? Title: Re: transactionrecord CWalletTx &wtx help! Post by: amaclin on October 06, 2014, 03:30:16 PM Quote Что-то не то с терминами, орфан, по идее, блок без предка. А как выкинутый от реорганизации блок называется? А фиг знает. Если приходят два разных блока и оба пятьсот-третьи, то клиент при приходе второго из них выбирает большую сложность цепочкии либо игнорирует второй, либо реорганизует. В этом случае в самом blk-файле блок остается (вдруг потом придется опять реорганизовывать?) UPD: а, ну значит нельзя "просто выкидывать". чтоб потом от него тоже можно было бы чейн строить. я бы предложил так: орфан - блок без предка вообще блок с предком но не в мейнчейне - это сайдчейн или сайдблок Но это моё понимание, может быть имеются более устоявшиеся названия Title: Re: transactionrecord CWalletTx &wtx help! Post by: Sheogorath on October 06, 2014, 03:47:25 PM Quote Что-то не то с терминами, орфан, по идее, блок без предка. А как выкинутый от реорганизации блок называется? А фиг знает. Если приходят два разных блока и оба пятьсот-третьи, то клиент при приходе второго из них выбирает большую сложность цепочкии либо игнорирует второй, либо реорганизует. В этом случае в самом blk-файле блок остается (вдруг потом придется опять реорганизовывать?) UPD: а, ну значит нельзя "просто выкидывать". чтоб потом от него тоже можно было бы чейн строить. я бы предложил так: орфан - блок без предка вообще блок с предком но не в мейнчейне - это сайдчейн или сайдблок Но это моё понимание, может быть имеются более устоявшиеся названия В моей ситуации (майнил молодую валюту, сидел за NAT - хороший хешрейт, плохая connectivity) непонятно как блок умудрялся совсем исчезнуть, вроде должен был остаться в sidechain (блин, этот термин уже занят под валидные цепочки, которые целиком в основной blockchain не включаются!) и висеть неподтверждённым. Title: Re: transactionrecord CWalletTx &wtx help! Post by: amaclin on October 06, 2014, 03:53:07 PM Quote Когда имеются два блока-"брата" нельзя выбирать из них лучший по сложности, иначе можно придержать удачный блок и запустить в сеть позже. А откуда взялся второй?Если он пришел из сети и имеет большую сложность - то нода должна взять его в мейнчейн и майнить от него Иначе большой риск майнить сайдчейн. Если второй блок мы сами сгенерировали - то мы сами себе злобные буратины - надо было при приходе "первого" блока переключиться и не майнить сайдчейн. Какая пох разница? ТС не об этом спрашивал! Title: Re: transactionrecord CWalletTx &wtx help! Post by: Sheogorath on October 06, 2014, 04:03:26 PM Если он пришел из сети и имеет большую сложность - то нода должна взять его в мейнчейн и майнить от него Если считать чисто по сложности, у кого хэш меньше, тот и главный, то придержав свой удачный блок можно почти гарантированно выбить чужой. Отсюда selfish-mining и зародыш даблспенда. Надо подумать, вдруг что полезное придумается.Какая пох разница? ТС не об этом спрашивал! Кстати, да. Ещё научим чему плохому :)))Title: Re: transactionrecord CWalletTx &wtx help! Post by: amaclin on October 06, 2014, 04:18:36 PM Quote Если считать чисто по сложности, у кого хэш меньше, тот и главный, то придержав свой удачный блок можно почти гарантированно выбить чужой. Отсюда selfish-mining и зародыш даблспенда. Надо подумать, вдруг что полезное придумается. А сложность по-моему меряется не только по хешу блока, но и с учетом транзакций в немТо есть блок с большим числом транзакций будет в некоторых случаях перешибать блок с меньшим хешом А уж в случае если в цепочке несколько блоков - то там суммируется. То есть "придержав" свой случайно найденный блок с очень маленьким хешом вы рискуете что его сеть не примет в мейнчейн. Title: Re: transactionrecord CWalletTx &wtx help! Post by: info_infoman on October 07, 2014, 04:36:24 AM я имею ввиду интерфейс вкладки "Транзакции"
в клиенте что там отображается? судя по коду там отображаются вообще все транзакции поступившие ноде и созданные нодой а именно дебитовые(входящие) и кредитовые(исходящие) на адреса в кошельке причем судя по коду там отображаются все транзакции попавшие в mempool то есть еще не включенные в блок: ниже кусок кода transactionrecord.cpp он подгружается в transactionmodel и transactiontable а они отвечают именно за вкладку "Транзакции" я прав? Code: // Title: Re: transactionrecord CWalletTx &wtx help! Post by: in100 on October 07, 2014, 05:31:43 AM судя по коду там отображаются вообще все транзакции поступившие ноде и созданные нодой а именно дебитовые(входящие) и кредитовые(исходящие) на адреса в кошельке причем судя по коду там отображаются все транзакции попавшие в mempool то есть еще не включенные в блок Да, достаточно понаблюдать за работой кошелька :) Сначала он видит входящую или исходящую транзакцию в mempool, выдает всплывающее сообщение и добавляет эту транзакцию в список. После того, как транзакция будет включена в блок, кошель начинает отсчитывать подтверждения. Title: Re: transactionrecord CWalletTx &wtx help! Post by: info_infoman on October 07, 2014, 05:54:08 AM спасибо!
просто я не мог наблюдать входящие транзы... никто не шлет и монетка специфическая |