{"id":17161,"date":"2021-04-07T15:38:50","date_gmt":"2021-04-07T15:38:50","guid":{"rendered":"http:\/\/ci028008394000247a"},"modified":"2021-04-07T15:38:50","modified_gmt":"2021-04-07T15:38:50","slug":"bitcoin-optech-newsletter-143-ln-node-software","status":"publish","type":"post","link":"https:\/\/bitcoinmagazine.com\/technical\/bitcoin-optech-newsletter-143-ln-node-software","title":{"rendered":"Bitcoin Optech Newsletter #143: LN Node Software"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p><em>The <\/em><a href=\"https:\/\/bitcoinops.org\/\" target=\"_blank\" rel=\"noopener\"><em>Bitcoin Optech <\/em><\/a><em>newsletter provides readers with a top-level summary of the most important technical news happening in Bitcoin, along with resources that help them learn more. To help our readers stay up-to-date with Bitcoin, we&#8217;re republishing the latest issue of this newsletter below. Remember <\/em><a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/\" target=\"_blank\" rel=\"noopener\"><em>to subscribe<\/em><\/a><em> to receive this content straight to your inbox.<\/em><\/p>\n<h2>News<\/h2>\n<p><em>No noteworthy news to report this week.<\/em><\/p>\n<h2>Releases and release candidates<\/h2>\n<p><em>New releases and release candidates for popular Bitcoin infrastructure projects. Please consider upgrading to new releases or helping to test release candidates.<\/em><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/ElementsProject\/lightning\/releases\/tag\/v0.10.0\" target=\"_blank\" rel=\"noopener\">C-Lightning 0.10.0<\/a> is the newest major release of this LN node software. It contains a number of enhancements to its API and includes experimental support for <a href=\"https:\/\/bitcoinops.org\/en\/topics\/dual-funding\/\" target=\"_blank\" rel=\"noopener\">dual funding<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/btcpayserver\/btcpayserver\/releases\/tag\/v1.0.7.2\" target=\"_blank\" rel=\"noopener\">BTCPay 1.0.7.2<\/a> fixes minor issues discovered after last week\u2019s security release.<\/li>\n<\/ul>\n<h2>Notable code and documentation changes<\/h2>\n<p><em>Notable changes this week in <\/em><a href=\"https:\/\/github.com\/bitcoin\/bitcoin\" target=\"_blank\" rel=\"noopener\"><em>Bitcoin Core<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/ElementsProject\/lightning\" target=\"_blank\" rel=\"noopener\"><em>C-Lightning<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/ACINQ\/eclair\" target=\"_blank\" rel=\"noopener\"><em>Eclair<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/lightningnetwork\/lnd\/\" target=\"_blank\" rel=\"noopener\"><em>LND<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/rust-bitcoin\/rust-lightning\" target=\"_blank\" rel=\"noopener\"><em>Rust-Lightning<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/bitcoin-core\/secp256k1\" target=\"_blank\" rel=\"noopener\"><em>libsecp256k1<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/bitcoin-core\/HWI\" target=\"_blank\" rel=\"noopener\"><em>Hardware Wallet Interface (HWI)<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/rust-bitcoin\/rust-bitcoin\" target=\"_blank\" rel=\"noopener\"><em>Rust Bitcoin<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/btcpayserver\/btcpayserver\/\" target=\"_blank\" rel=\"noopener\"><em>BTCPay Server<\/em><\/a><em>, <\/em><a href=\"https:\/\/github.com\/bitcoin\/bips\/\" target=\"_blank\" rel=\"noopener\"><em>Bitcoin Improvement Proposals (BIPs)<\/em><\/a><em>, and <\/em><a href=\"https:\/\/github.com\/lightningnetwork\/lightning-rfc\/\" target=\"_blank\" rel=\"noopener\"><em>Lightning BOLTs<\/em><\/a><em>.<\/em><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/20286\" target=\"_blank\" rel=\"noopener\">Bitcoin Core #20286<\/a> removes the fields addresses and reqSigs from the responses of the RPCs gettxout, getrawtransaction, decoderawtransaction, decodescript, gettransaction, and the REST endpoints \/rest\/tx, \/rest\/getutxos, \/rest\/block. When a well-defined address exists, the responses now include the optional field address instead. The deprecated fields had been used in the context of bare multisig which has no substantial use on the network today. The deprecated fields can be output via the configuration option -deprecatedrpc=addresses until the option is removed in Bitcoin Core 23.0.<\/li>\n<li><a href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/20197\" target=\"_blank\" rel=\"noopener\">Bitcoin Core #20197<\/a> improves the diversity of peer connections by updating the inbound peer eviction logic to protect the longest-running onion peers. It also adds unit test coverage for the current eviction protection logic. Onion peers have historically been disadvantaged by the eviction criteria due to their higher latency relative to IPv4 and IPv6 peers, leading to users filing <a href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/11537\" target=\"_blank\" rel=\"noopener\">multiple<\/a> <a href=\"https:\/\/github.com\/bitcoin\/bitcoin\/issues\/19500\" target=\"_blank\" rel=\"noopener\">issues<\/a>. An <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2020\/09\/09\/#bitcoin-core-19670\" target=\"_blank\" rel=\"noopener\">initial response<\/a> to the issue began reserving slots for localhost peers as a proxy for onion peers. Later, <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2020\/10\/07\/#bitcoin-core-19991\" target=\"_blank\" rel=\"noopener\">explicit detection of inbound onion connections<\/a> was added.<br \/>With the updated logic, half of the protected slots are allocated to any onion and localhost peers, with onion peers receiving precedence over localhost peers. Now that support for the I2P privacy network has been added to Bitcoin Core (see <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2021\/03\/10\/#bitcoin-core-20685\" target=\"_blank\" rel=\"noopener\">Newsletter #139<\/a>), a next step will be to extend eviction protection to I2P peers, as they generally have higher latency than onion peers.<\/li>\n<li><a href=\"https:\/\/github.com\/ACINQ\/eclair\/issues\/1750\" target=\"_blank\" rel=\"noopener\">Eclair #1750<\/a> removes support for Electrum and the corresponding 10,000 lines of code. Electrum was previously used by Eclair for mobile wallets. However, a new implementation, <a href=\"https:\/\/github.com\/ACINQ\/eclair-kmp\" target=\"_blank\" rel=\"noopener\">Eclair-kmp<\/a>, is now recommended for use by mobile wallets, making Electrum support for Eclair unnecessary.<\/li>\n<li><a href=\"https:\/\/github.com\/ACINQ\/eclair\/issues\/1751\" target=\"_blank\" rel=\"noopener\">Eclair #1751<\/a> adds a blocking option to the payinvoice command which causes calls to payinvoice to block until the payment is completed. Previously, inefficiently polling the getsentinfo API was required for users to know when payments completed.<\/li>\n<\/ul>\n<p>Find the <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/2021\/03\/03\/\" target=\"_blank\" rel=\"noopener\">original post here.<\/a> <\/p>\n<p>Please <a href=\"https:\/\/bitcoinops.org\/en\/newsletters\/\" target=\"_blank\" rel=\"noopener\">subscribe to the Bitcoin Optech newsletter<\/a> directly to receive this content straight to your inbox every month.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week\u2019s Bitcoin Optech newsletter includes a release for LN node software and notable changes to Bitcoin Core.<\/p>\n","protected":false},"author":3246,"featured_media":10844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[227,2887,508],"class_list":["post-17161","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technical","tag-bitcoin-core","tag-bitcoin-optech","tag-lighting-network"],"author_data":{"id":3246,"name":"Bitcoin Optech","nicename":"bitcoin-optech","avatar_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/12\/optech-notext-96x96.png"},"featured_image_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/11\/cybersecurity-firm-reports-all-fortune-500-companies-exposed-on-the-dark-web.jpg","_links":{"self":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/17161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/users\/3246"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/comments?post=17161"}],"version-history":[{"count":0,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/17161\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media\/10844"}],"wp:attachment":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media?parent=17161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/categories?post=17161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/tags?post=17161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}