[{"data":1,"prerenderedAt":443},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fcore-tech\u002Fexchange-pool-integration-guide":3,"docs-surround-\u002Fdocs\u002Fcore-tech\u002Fexchange-pool-integration-guide":433},{"id":4,"title":5,"body":6,"description":167,"extension":425,"image":426,"meta":427,"navTitle":426,"navigation":428,"path":429,"seo":430,"stem":431,"__hash__":432},"docs\u002Fdocs\u002Fcore-tech\u002FExchange-Pool-integration-guide.md","Exchange\u002FPool integration guide",{"type":7,"value":8,"toc":413},"minimark",[9,13,18,22,26,88,109,119,135,139,146,151,158,168,175,180,187,195,200,206,217,227,231,237,242,247,258,263,275,278,281,341,344,352,363,366,379,387,391,394,397,402,406],[10,11,5],"h1",{"id":12},"exchangepool-integration-guide",[14,15,17],"h2",{"id":16},"important-the-recommended-number-of-confirmations-for-beam-transfers-is-80-blocks","IMPORTANT: The recommended number of confirmations for Beam transfers is 80 blocks.",[14,19,21],{"id":20},"getting-binaries","Getting binaries",[23,24,25],"p",{},"First of all, define the network you'd like to \"play\" with:",[27,28,29,57,77],"ul",{},[30,31,32,36,37,44,45,50,51,56],"li",{},[33,34,35],"code",{},"mainnet"," - it's the latest released production version, working with real money and you can get binaries from the ",[38,39,43],"a",{"href":40,"rel":41},"https:\u002F\u002Fwww.beam.mw\u002Fdownloads",[42],"nofollow","official website",", see ",[38,46,49],{"href":47,"rel":48},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Freleases",[42],"Github Releases"," or build yourself from the sources of (",[38,52,55],{"href":53,"rel":54},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmainnet",[42],"mainnet branch",").",[30,58,59,62,63,66,67,70,71,76],{},[33,60,61],{},"testnet"," - to check the features will be released soon to production and  you can get binaries from the ",[38,64,43],{"href":65},"\u002Fdownloads\u002Ftestnet","\n, see ",[38,68,49],{"href":47,"rel":69},[42]," or build from the ",[38,72,75],{"href":73,"rel":74},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Ftestnet",[42],"testnet branch",".",[30,78,79,82,83,76],{},[33,80,81],{},"master"," - to see the latest changes in development build the ",[38,84,87],{"href":85,"rel":86},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Ftree\u002Fmaster",[42],"master branch",[23,89,90,91,96,97,101,102,101,105,108],{},"Here are ",[38,92,95],{"href":93,"rel":94},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FHow-to-build",[42],"detailed instructions on how to build a project"," for ",[98,99,100],"em",{},"Windows",", ",[98,103,104],{},"Linux",[98,106,107],{},"Mac"," platforms .",[110,111,112],"blockquote",{},[23,113,114,115,118],{},"Add ",[33,116,117],{},"-DBEAM_NO_QT_UI_WALLET=On"," command line parameter to the Cmake if you need only CLI version of the wallet without UI and QT5 library dependencies.",[23,120,121,122,101,125,101,128,131,132,76],{},"You will need to build 4 binaries: ",[33,123,124],{},"beam-node",[33,126,127],{},"explorer-node",[33,129,130],{},"beam-wallet"," and ",[33,133,134],{},"wallet-api",[14,136,138],{"id":137},"initializing-wallet","Initializing Wallet",[23,140,141,142,145],{},"To create a new wallet run the following command (",[33,143,144],{},"wallet.db"," will be created in the working folder):",[23,147,148],{},[33,149,150],{},".\u002Fbeam-wallet init",[23,152,153,154,157],{},"Output example for ",[33,155,156],{},"init"," operation:",[159,160,165],"pre",{"className":161,"code":163,"language":164},[162],"language-text","I 2019-02-19.15:28:55.500 Beam Wallet 1.2.4392 (master)\nI 2019-02-19.15:28:55.501 Rules signature: 7c360d0c2ee92d9e\nI 2019-02-19.15:28:55.501 starting a wallet...\nEnter password: ***\nConfirm password: ***\nI 2019-02-19.15:29:01.716 Generating seed phrase...\n======\nGenerated seed phrase:\n\n        army;wing;very;trim;crumble;meat;spawn;click;donate;loyal;trap;gauge;\n\n        IMPORTANT\n\n        Your seed phrase is the access key to all the cryptocurrencies in your wallet.\n        Print or write down the phrase to keep it in a safe or in a locked vault.\n        Without the phrase you will not be able to recover your money.\n======\nI 2019-02-19.15:29:01.950 wallet successfully created...\nI 2019-02-19.15:29:01.971 New address generated:\n\n1f27eea1057633e7df23aa51f835a05fa759ca199535fe99952bf9aecad17186d9d\n\nI 2019-02-19.15:29:01.971 comment = default\n","text",[33,166,163],{"__ignoreMap":167},"",[23,169,170,171,174],{},"You can also restore wallet with your ",[33,172,173],{},"seed_phrase"," if you've already had it.",[23,176,177],{},[33,178,179],{},".\u002Fbeam-wallet restore --seed_phrase=\u003Csemicolon separated list of 12 seed phrase words>;",[23,181,182,183,186],{},"Once wallet is initialised, you have to export your ",[98,184,185],{},"Owner Key"," (it will be needed in the future to start own node).",[188,189,190,194],"details",{},[191,192,193],"summary",{},"\nMore info about `owner key`\n","\nThe purpose of the `owner key` is to allow all nodes mining for you to be aware of all mining rewards mined by other nodes so that you would only need to connect to one node to collect all the rewards into your wallet. While in most other cryptocurrencies this is done by simply mining to a single address you control, in Mimblewimble it is not as simple since there are no addresses and the mining rewards should be coded with unique blinding factors which are deterministically derived from the `master key`, and then tagged by the single `owner key`.\n",[23,196,153,197,157],{},[33,198,199],{},"export_owner_key",[159,201,204],{"className":202,"code":203,"language":164},[162],"$ .\u002Fbeam-wallet export_owner_key\nI 2019-02-19.15:32:16.217 Beam Wallet 1.2.4392 (master)\nI 2019-02-19.15:32:16.218 Rules signature: 7c360d0c2ee92d9e\nI 2019-02-19.15:32:16.219 starting a wallet...\nEnter password: ***\nOwner Viewer key: +SevBZ++xL1wEM+yyGbMI+ZElHahudX8mh6Hu\u002FatJrdtzAOD2zpeb2LPIqQcnvry3JUQFBa9gTAHT98RMQMdcggr+LX0oqdGsVIx3KRkTxyvRdKBnw8lz9uAmMx0P2TNlk30E+M5MCnX7Ngp\n",[33,205,203],{"__ignoreMap":167},[23,207,208,210,211,213,214,76],{},[98,209,185],{}," should be kept secret. ",[98,212,185],{}," does not allow to spend coins, however it will allow to see all coins mined for you by all miners that use this ",[98,215,216],{},"Owner Кey",[23,218,219,220,222,223],{},"Here you can read about all the ",[33,221,130],{}," commands: ",[38,224,225],{"href":225,"rel":226},"https:\u002F\u002Fbeamx.gitbook.io\u002Fcli-guide\u002F",[42],[14,228,230],{"id":229},"starting-a-node","Starting a Node",[23,232,233,234,236],{},"Run the node with your ",[98,235,185],{}," and make sure it has completed the synchronization with the network:",[23,238,239],{},[33,240,241],{},".\u002Fbeam-node.exe --peer=eu-node01.mainnet.beam.mw:8100 --key_owner=XPWoJ\u002FViEO1whRcYC1z\u002FnylDH1C2lqLxpMYU0\u002FAbqP67XI4sgYDkUIvJfUpMFjwdPYNz2A7PCHWo7c\u002FkHHTZ2EDUNv2BJvQHb1KHZjLNZPFgV2wceHfzvCYIUF3cR9ADfVSBquTxEldipNgp",[110,243,244],{},[23,245,246],{},"Please, make sure you pass proper peer address for the current network you have chosen before.",[188,248,249,252],{},[191,250,251],{},"\nList of peers\n",[159,253,256],{"className":254,"code":255,"language":164},[162],"MASTER peers:\neu-node01.masternet.beam.mw:8100\neu-node02.masternet.beam.mw:8100\neu-node03.masternet.beam.mw:8100\neu-node04.masternet.beam.mw:8100\n\nTESTNET peers:\nap-node01.testnet.beam.mw:8100\nap-node02.testnet.beam.mw:8100\nap-node03.testnet.beam.mw:8100\neu-node01.testnet.beam.mw:8100\neu-node02.testnet.beam.mw:8100\neu-node03.testnet.beam.mw:8100\nus-node01.testnet.beam.mw:8100\nus-node02.testnet.beam.mw:8100\nus-node03.testnet.beam.mw:8100\n\nMAINNET peers:\neu-node01.mainnet.beam.mw:8100\neu-node02.mainnet.beam.mw:8100\neu-node03.mainnet.beam.mw:8100\neu-node04.mainnet.beam.mw:8100\nus-node01.mainnet.beam.mw:8100\nus-node02.mainnet.beam.mw:8100\nus-node03.mainnet.beam.mw:8100\nus-node04.mainnet.beam.mw:8100\nap-node01.mainnet.beam.mw:8100\nap-node02.mainnet.beam.mw:8100\nap-node03.mainnet.beam.mw:8100\nap-node04.mainnet.beam.mw:8100\n",[33,257,255],{"__ignoreMap":167},[259,260,262],"h3",{"id":261},"mining-support","Mining support",[23,264,265,266,269,270,76],{},"Beam Node also provides built-in support for ",[98,267,268],{},"Stratum API"," allowing to connect multiple external mining clients to a single node, ",[38,271,274],{"href":272,"rel":273},"https:\u002F\u002Fbeamx.gitbook.io\u002Fbeam-mining",[42],"read more...",[14,276,277],{"id":134},"Wallet API",[23,279,280],{},"With Wallet API you can",[27,282,283,291,306,319,332],{},[30,284,285,286],{},"check current ",[38,287,290],{"href":288,"rel":289},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#wallet_status",[42],"wallet status and (balance)",[30,292,293,294,299,300,305],{},"get all your ",[38,295,298],{"href":296,"rel":297},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#get_utxo",[42],"UTXO","\u002F",[38,301,304],{"href":302,"rel":303},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_list",[42],"transactions"," list",[30,307,308,299,313,318],{},[38,309,312],{"href":310,"rel":311},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#create_address",[42],"create",[38,314,317],{"href":315,"rel":316},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#validate_address",[42],"verify"," address",[30,320,321,131,326,331],{},[38,322,325],{"href":323,"rel":324},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_send",[42],"send funds",[38,327,330],{"href":328,"rel":329},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_cancel",[42],"cancel"," transactions",[30,333,334,335,340],{},"make a ",[38,336,339],{"href":337,"rel":338},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API-v6.1#tx_split",[42],"split of UTXO"," - create a specific set of outputs with given set of values",[23,342,343],{},"There are two ways to send JSON RPC commands to the API,",[27,345,346,349],{},[30,347,348],{},"using TCP socket",[30,350,351],{},"via HTTP calls.",[23,353,354,355,358,359,362],{},"With TCP you can hold only one connection, send JSON commands separated with ",[33,356,357],{},"\\n"," symbol and receive callbacks from the API, in the one hand it's more flexible but a bit difficult to implement in the other hand.\nWith HTTP you can do POST requests using ",[33,360,361],{},"curl"," command.",[23,364,365],{},"So, to start API with HTTP support use the command:",[23,367,368,371,374,375,378],{},[33,369,370],{},".\u002Fwallet-api --node_addr=x.x.x.x:port --use_http=1",[372,373],"br",{},"\nwhere ",[33,376,377],{},"node_addr"," is your node address and port.",[23,380,381,382,76],{},"See detailed ",[38,383,386],{"href":384,"rel":385},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-wallet-protocol-API",[42],"wallet API documentation",[14,388,390],{"id":389},"node-explorer-api","Node Explorer API",[23,392,393],{},"With this API you can get information about current blockchain state and blocks using simple GET requests.",[23,395,396],{},"To run explorer use the command:",[23,398,399],{},[33,400,401],{},".\u002Fexplorer-node.exe --peer eu-node01.mainnet.beam.mw:8100 --api_port=8080",[110,403,404],{},[23,405,246],{},[23,407,381,408],{},[38,409,412],{"href":410,"rel":411},"https:\u002F\u002Fgithub.com\u002FBeamMW\u002Fbeam\u002Fwiki\u002FBeam-Node-Explorer-API",[42],"explorer API documentation",{"title":167,"searchDepth":414,"depth":414,"links":415},2,[416,417,418,419,423,424],{"id":16,"depth":414,"text":17},{"id":20,"depth":414,"text":21},{"id":137,"depth":414,"text":138},{"id":229,"depth":414,"text":230,"children":420},[421],{"id":261,"depth":422,"text":262},3,{"id":134,"depth":414,"text":277},{"id":389,"depth":414,"text":390},"md",null,{},true,"\u002Fdocs\u002Fcore-tech\u002Fexchange-pool-integration-guide",{"title":5,"description":167},"docs\u002Fcore-tech\u002FExchange-Pool-integration-guide","ztH-HCrnuk5k2rAFpzZysOfBcGUiV-o78Ah7LpGuSGw",[434,439],{"title":435,"path":436,"stem":437,"description":438,"children":-1},"Ethash Verification In Contracts","\u002Fdocs\u002Fcore-tech\u002Fethash-verification-in-contracts","docs\u002Fcore-tech\u002FEthash-verification-in-contracts","To implement trustless bridges between Beam and other blockchains there's a need to verify the headers of the appropriate blockchains in the contract. For a PoW-based blockchain there's a need to verify the appropriate header PoW.",{"title":440,"path":441,"stem":442,"description":167,"children":-1},"Desktop Wallet app","\u002Fdocs\u002Fcore-tech\u002Ffolder-and-file-locations","docs\u002Fcore-tech\u002FFolder-and-file-locations",1783006067849]