[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fcore-tech\u002Flelantus-cli-(historical-below-v6.0)":3,"docs-surround-\u002Fdocs\u002Fcore-tech\u002Flelantus-cli-(historical-below-v6.0)":248},{"id":4,"title":5,"body":6,"description":101,"extension":240,"image":241,"meta":242,"navTitle":241,"navigation":243,"path":244,"seo":245,"stem":246,"__hash__":247},"docs\u002Fdocs\u002Fcore-tech\u002FLelantus-CLI-(historical,-below-v6.0).md","Lelantus CLI (historical, Below V60)",{"type":7,"value":8,"toc":225},"minimark",[9,14,26,30,53,56,69,81,86,89,92,102,106,109,115,119,122,128,132,135,139,154,158,169,172],[10,11,13],"h2",{"id":12},"historical-notice","Historical notice",[15,16,17,18,25],"p",{},"This document is valid for version below v6.0 and is retained only for historical reasons. For v6.0+ refer the ",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FLelantus-CLI",[23],"nofollow","Lelantus CLI"," page.",[10,27,29],{"id":28},"overview","Overview",[15,31,32,33,37,38,41,42,45,46,49,50,52],{},"Conceptually, Lelantus is a mean which allows to avoid UXTO linkability in transactions graph. To make UTXOs unlinked user should insert regular BEAM UTXO into ",[34,35,36],"em",{},"shielded pool",", converting these UTXOs into ",[34,39,40],{},"shielded UTXOs"," and then, after some time extract them back as ",[34,43,44],{},"unlinked"," UTXOs. ",[34,47,48],{},"Shielded UTXO"," belonging to the wallet could be detected by the node with owner key (as regular utxo), and the user can use this info to extract these coins back.\nWe are trying to hide the details of this process from the user, extracting from the ",[34,51,36],{}," is performed automatically when user sends beams, it influences the fee, but the user shouldn't think about unlinking.",[15,54,55],{},"To send BEAMs through Lelantus we introduced three types of addresses:",[57,58,59,63,66],"ul",{},[60,61,62],"li",{},"offline",[60,64,65],{},"max privacy",[60,67,68],{},"public offline",[15,70,71,72,76,77,80],{},"All of these addresses could be used with ",[73,74,75],"code",{},"send"," command and should be passed via ",[73,78,79],{},"-r"," parameter",[82,83,85],"h3",{"id":84},"offline-address","Offline address",[15,87,88],{},"It allows sending BEAMs without interactions with the receiver. It is a very long base58 string, which contains embedded information for 10 payments(in UI), also it has SBBS address of the receiver, so, in the case when the receiver becomes online, the sender could get info for more payments.",[15,90,91],{},"To generate this type of address with 10 embedded payments use",[93,94,99],"pre",{"className":95,"code":97,"language":98},[96],"language-text",".\u002Fbeam-wallet get_address --offline=10\n","text",[73,100,97],{"__ignoreMap":101},"",[82,103,105],{"id":104},"max-privacy-address","Max privacy address",[15,107,108],{},"This address allows to make only one payment, there is no ability to get more payments, and there is a guaranty that shielded coins received by sending on this address will be extracted in the correct moment to achieve the max privacy effect.\nTo generate a new max privacy address use",[93,110,113],{"className":111,"code":112,"language":98},[96],".\u002Fbeam-wallet get_address --max_privacy \n",[73,114,112],{"__ignoreMap":101},[82,116,118],{"id":117},"public-offline-address","Public offline address",[15,120,121],{},"This type of address is intended to be used to receive donations. It is permanent, relatively short, and provides less privacy comparing with others, the sender has an ability to detect if the sent shielded coin has been spent.\nThis type of address could be obtained with the following command:",[93,123,126],{"className":124,"code":125,"language":98},[96],".\u002Fbeam-wallet get_address --public_offline \n",[73,127,125],{"__ignoreMap":101},[10,129,131],{"id":130},"offline-payments","Offline payments",[15,133,134],{},"With Lelantus we are able to without need to be online, this is also known as one-side payments. To make them we need to accomplish the following steps:",[82,136,138],{"id":137},"receiver","Receiver",[140,141,142,151],"ol",{},[60,143,144,145],{},"Receiver have to generate a token with the needed quantity of vouchers (allowed number of payments)",[93,146,149],{"className":147,"code":148,"language":98},[96],".\u002Fbeam-wallet get_address --offline=3 \n",[73,150,148],{"__ignoreMap":101},[60,152,153],{},"Send this token to the sender, and go offline",[82,155,157],{"id":156},"sender","Sender",[140,159,160],{},[60,161,162,163],{},"Sender can use the received token to make payments as many times as many vouchers this token has.\n",[93,164,167],{"className":165,"code":166,"language":98},[96],".\u002Fbeam_wallet insert_to_pool -r \u003Ctoken> -n \u003Cnode address> -a \u003Camount> -f \u003Cfee>\n",[73,168,166],{"__ignoreMap":101},[82,170,138],{"id":171},"receiver-1",[140,173,174,198],{},[60,175,176,177,179,185,188,189,192],{},"Receiver after a while should check if he has ",[34,178,40],{},[93,180,183],{"className":181,"code":182,"language":98},[96],".\u002Fbeam_wallet info\n",[73,184,182],{"__ignoreMap":101},[186,187],"br",{},"the shielded coins has type ",[73,190,191],{},"shld",[93,193,196],{"className":194,"code":195,"language":98},[96],"|                                                ID |           BEAM |          GROTH | Maturity           | Status               | Type     |\n                                               14724               34                0   95849                [Spent]                shld\n                                               14725                7                0   95873                [Spent]                shld\n",[73,197,195],{"__ignoreMap":101},[60,199,200,201,204,205,208,209,212,213,219],{},"Also a new transaction record should appear with status ",[73,202,203],{},"received max privacy",", ",[73,206,207],{},"received offline"," or ",[73,210,211],{},"received public offline",", depending od what address type was used",[93,214,217],{"className":215,"code":216,"language":98},[96],".\u002Fbeam_wallet info --tx_history\n",[73,218,216],{"__ignoreMap":101},[93,220,223],{"className":221,"code":222,"language":98},[96],"2020.11.14 12:52:22    incoming                                     5   received offline        c714875164c8444cb12f90c4353fa1f6\n2020.10.30 18:13:22    incoming                                     1   received max privacy    7a6dbf11fa6649e39992c41c349ab6ad\n2020.10.30 17:57:22    incoming                                     4   received max privacy    d5f1b5acee474b4cb187321431040306\n2020.10.30 11:15:22    incoming                                     2   received public offline\n",[73,224,222],{"__ignoreMap":101},{"title":101,"searchDepth":226,"depth":226,"links":227},2,[228,229,235],{"id":12,"depth":226,"text":13},{"id":28,"depth":226,"text":29,"children":230},[231,233,234],{"id":84,"depth":232,"text":85},3,{"id":104,"depth":232,"text":105},{"id":117,"depth":232,"text":118},{"id":130,"depth":226,"text":131,"children":236},[237,238,239],{"id":137,"depth":232,"text":138},{"id":156,"depth":232,"text":157},{"id":171,"depth":232,"text":138},"md",null,{},true,"\u002Fdocs\u002Fcore-tech\u002Flelantus-cli-(historical-below-v6.0)",{"description":101},"docs\u002Fcore-tech\u002FLelantus-CLI-(historical,-below-v6.0)","WVVVDmitqRon2AlavoARDuWxdcVtPxFTl_WGiWyMlug",[249,252],{"title":24,"path":250,"stem":251,"description":101,"children":-1},"\u002Fdocs\u002Fcore-tech\u002Flelantus-cli","docs\u002Fcore-tech\u002FLelantus-CLI",{"title":253,"path":254,"stem":255,"description":256,"children":-1},"Lelantus MW","\u002Fdocs\u002Fcore-tech\u002Flelantus-mw","docs\u002Fcore-tech\u002FLelantus-MW","Linkability is the Achilles' heel of MW.",1783006071247]