Open nayuta-ueno opened 6 years ago
今のところ、dijkstraのshortest pathアルゴリズムで送金経路を求めている。 その経路でupdate_fail_htlcが返された場合は、失敗したchannelを経路から外して再計算する。 これを繰り返し、送金に成功するか、経路が見つけられなくなるまで再送している。
update_fail_htlc
経路から外す際、恒久的に除外するか、一時的に除外するかという情報を持たせている。 一時的に除外する場合は、次の新しい送金では経路として含めるようになる。
今は、以下だけを一時的に除外している。
ログを見る限りでは、失敗理由はtemporary_channel_failureとunknown_next_peerがほとんどのため、新しく送金を行っても再送が頻繁に発生している。 channel_announcement/channel_updateだけで情報を集めているが、何か考慮漏れがあるのだろうか? あるいは、temporary_channel_failureを登録してしばらくは経路から外すような考慮が必要なのだろうか。
temporary_channel_failure
unknown_next_peer
channel_announcement
channel_update
今は暫定として、ucoincli -Rというオプションを用意し、その場合は一時的に除外する経路も除いたまま送金を開始するようにしている。 その場合は、再送が少ない。
ucoincli -R
今のところ、dijkstraのshortest pathアルゴリズムで送金経路を求めている。 その経路で
update_fail_htlc
が返された場合は、失敗したchannelを経路から外して再計算する。 これを繰り返し、送金に成功するか、経路が見つけられなくなるまで再送している。経路から外す際、恒久的に除外するか、一時的に除外するかという情報を持たせている。 一時的に除外する場合は、次の新しい送金では経路として含めるようになる。
今は、以下だけを一時的に除外している。
ログを見る限りでは、失敗理由は
temporary_channel_failure
とunknown_next_peer
がほとんどのため、新しく送金を行っても再送が頻繁に発生している。channel_announcement
/channel_update
だけで情報を集めているが、何か考慮漏れがあるのだろうか? あるいは、temporary_channel_failure
を登録してしばらくは経路から外すような考慮が必要なのだろうか。