bitcoin-s/docs/wallet/wallet-election-example.html
Docusaurus bot 7c5013ff0b Deploy website
Deploy website version based on 0cfad33fae
2022-09-12 13:47:26 +00:00

334 lines
No EOL
109 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Wallet Election Example · bitcoin-s</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This is a developer example to show to how build a"/><meta name="docsearch:version" content="1.9.4"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Wallet Election Example · bitcoin-s"/><meta property="og:type" content="website"/><meta property="og:url" content="https://bitcoin-s.org/"/><meta property="og:description" content="This is a developer example to show to how build a"/><meta property="og:image" content="https://bitcoin-s.org/img/undraw_online.svg"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://bitcoin-s.org/img/undraw_tweetstorm.svg"/><link rel="shortcut icon" href="/img/favicon.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61958686-2', 'auto');
ga('send', 'pageview');
</script><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="https://fonts.googleapis.com/css?family=Montserrat:500"></script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=UA-61958686-2"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/favicon.ico" alt="bitcoin-s"/><h2 class="headerTitleWithLogo">bitcoin-s</h2></a><a href="/versions"><h3>1.9.4</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive"><a href="/docs/core/core-intro" target="_self">Docs</a></li><li class=""><a href="/download" target="_self">Download</a></li><li class=""><a href="/api/org/bitcoins" target="_self">API</a></li><li class=""><a href="/help" target="_self">Help</a></li><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i></i><span>Wallet</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">Getting Started</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/getting-started">Intro and Getting Started</a></li><li class="navListItem"><a class="navItem" href="/docs/bips">Supported BIPs</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Getting Setup</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/getting-setup">Getting Bitcoin-S installed on your machine</a></li><li class="navListItem"><a class="navItem" href="/docs/ui-setup">Installing the DLC Wallet UI</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Applications</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/applications/cli">CLI</a></li><li class="navListItem"><a class="navItem" href="/docs/applications/server">Application Server</a></li><li class="navListItem"><a class="navItem" href="/docs/applications/gui">GUI</a></li><li class="navListItem"><a class="navItem" href="/docs/applications/server-systemd">Systemd installation</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Chain</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/chain/chain">Blockchain Verification</a></li><li class="navListItem"><a class="navItem" href="/docs/chain/filter-sync">Syncing Blockfilters</a></li><li class="navListItem"><a class="navItem" href="/docs/chain/chain-query-api">Chain Query API</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Configuration</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/config/configuration">Application Configuration</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Core Module</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/core/core-intro">Core Module</a></li><li class="navListItem"><a class="navItem" href="/docs/core/addresses">Generating Addresses</a></li><li class="navListItem"><a class="navItem" href="/docs/core/hd-keys">HD Key Generation</a></li><li class="navListItem"><a class="navItem" href="/docs/core/adding-spks">Adding New Script Types</a></li><li class="navListItem"><a class="navItem" href="/docs/core/spending-info">Signing Transactions</a></li><li class="navListItem"><a class="navItem" href="/docs/core/psbts">Partially Signed Bitcoin Transactions</a></li><li class="navListItem"><a class="navItem" href="/docs/core/dlc">Discreet Log Contract Data Structures</a></li><li class="navListItem"><a class="navItem" href="/docs/core/txbuilder">TxBuilder Example</a></li><li class="navListItem"><a class="navItem" href="/docs/core/lightning-network">Lightning Network Data Types</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Crypto Module</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/crypto/crypto-intro">Crypto Module</a></li><li class="navListItem"><a class="navItem" href="/docs/crypto/sign">Sign API</a></li><li class="navListItem"><a class="navItem" href="/docs/crypto/adaptor-signatures">Adaptor Signatures</a></li><li class="navListItem"><a class="navItem" href="/docs/crypto/musig">MuSig</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Fee Provider</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/fee-provider/fee-provider">Fee Provider</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Key Manager</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/key-manager/server-key-manager">Server Key Manager</a></li><li class="navListItem"><a class="navItem" href="/docs/key-manager/key-manager">Key Manager</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Node</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/node/node">Light Client</a></li><li class="navListItem"><a class="navItem" href="/docs/node/node-api">Node API</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Wallet</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet">Wallet</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-callbacks">Wallet Callbacks</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-get-address">Wallet Get Address APIs</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/address-tagging">Address and UTXO tagging</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/dlc">Executing A DLC with Bitcoin-S</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-rescan">Wallet Rescans</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-sync">Wallet Sync</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-rpc">Wallet RPC Examples</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/backups">Wallet Backups</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/wallet/wallet-election-example">Wallet Election Example</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-price-example">Wallet Price Example</a></li><li class="navListItem"><a class="navItem" href="/docs/wallet/wallet-sports-betting-example">Wallet Sports Betting Example</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Tor</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/tor/tor">Tor Setup</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">RPC Clients</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/rpc/rpc-clients-intro">Introduction</a></li><li class="navListItem"><a class="navItem" href="/docs/rpc/rpc-eclair">Eclair</a></li><li class="navListItem"><a class="navItem" href="/docs/rpc/rpc-bitcoind">bitcoind/Bitcoin Core</a></li><li class="navListItem"><a class="navItem" href="/docs/rpc/lnd-rpc">LND</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Secp256k1</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/secp256k1/secp256k1">Secp256k1</a></li><li class="navListItem"><a class="navItem" href="/docs/secp256k1/jni-modify">Adding to Secp256k1 JNI</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Testkit</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/testkit/testkit">Testkit</a></li><li class="navListItem"><a class="navItem" href="/docs/testkit/testkit-core">Testkit Core</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">DLC Oracle</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/oracle/build-oracle-server">Building the Oracle Server</a></li><li class="navListItem"><a class="navItem" href="/docs/oracle/oracle-server">Oracle Server</a></li><li class="navListItem"><a class="navItem" href="/docs/oracle/oracle-election-example">Election Example</a></li><li class="navListItem"><a class="navItem" href="/docs/oracle/oracle-price-example">Price Example</a></li><li class="navListItem"><a class="navItem" href="/docs/oracle/oracle-sports-betting-example">Sports Betting Example</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Oracle Explorer Client</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/oracle-explorer-client/oracle-explorer-client">Oracle Explorer Client</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Contributing</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/contributing">Contributing</a></li><li class="navListItem"><a class="navItem" href="/docs/contributing-website">Contributing to the website</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Security</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/security">Security</a></li></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/bitcoin-s/bitcoin-s/blob/master/docs/wallet/wallet-election-example.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Wallet Election Example</h1></header><article><div><span><p>This is a developer example to show to how build a
DLC with <code>bitcoin-s-cli</code> utility using the oracle
we built in our <a href="/docs/oracle/oracle-election-example">oracle election example</a></p>
<p>This example will show you to collaborate with your peer
to create the funding transaction for your DLC.</p>
<p>The last thing we will do is close the DLC by broadcasting
the contract execution transaction (CET) that is valid after
the oracle broadcasts its attestations.</p>
<h2><a class="anchor" aria-hidden="true" id="requirements-for-example"></a><a href="#requirements-for-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Requirements for example</h2>
<p>You need to have a fully built DLC wallet.
You can follow <a href="/docs/applications/server#building-the-server">this guide</a> to do this.</p>
<p>You will also need a the <code>bitcoin-s-cli</code> command line tool to interact with the server.
You can find how to build this <a href="/docs/applications/cli">here</a></p>
<p>Since bitcoin-s is a self custodial wallet, you will need to either</p>
<ol>
<li><a href="/docs/getting-setup#bitcoind-backend">Connect your server to bitcoind</a></li>
<li><a href="/docs/getting-setup#neutrino-node">Do intial block download (IBD) with blockfilters</a>. This can take a few hours.</li>
</ol>
<pre><code class="hljs">.<span class="hljs-meta-keyword">/app/</span>server<span class="hljs-meta-keyword">/target/</span>universal<span class="hljs-meta-keyword">/stage/</span>bin/bitcoin-s-server
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="us-2020-election"></a><a href="#us-2020-election" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>US 2020 election</h2>
<p>In 2020, the United States held a presidential election.
People want to do a DLC based on the outcome.</p>
<h3><a class="anchor" aria-hidden="true" id="setting-up-the-election-bet"></a><a href="#setting-up-the-election-bet" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Setting up the election bet</h3>
<h4><a class="anchor" aria-hidden="true" id="oracle"></a><a href="#oracle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Oracle</h4>
<p>The first thing you need to create a DLC is an oracle that
is attesting to the real world event that you are interested in.</p>
<p>In this case, we will be using the oracle we setup in our
<a href="/docs/oracle/oracle-election-example">oracle election example</a>.</p>
<p>The announcement that this oracle produced is</p>
<pre><code class="hljs">fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>e
</code></pre>
<p>This announcement contains all the cryptographic information
necessary for you and your counterparty to build a DLC.</p>
<h4><a class="anchor" aria-hidden="true" id="contract"></a><a href="#contract" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Contract</h4>
<p>The next step for building a DLC is agreeing to a <a href="https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_info-type">contract info</a>.
A contract info contains information about</p>
<ol>
<li>The oracles that will be used by the DLC</li>
<li>The contract payout conditions based on the oracle.</li>
</ol>
<p>Up until this point all information in this example does
NOT contain any information specific to the bitcoin network.</p>
<p>If the oracle has published their announcement to the
Suredbits oracle explorer, you can build this
<a href="https://test.oracle.suredbits.com/event/8863cd80e1d37f668e27b84cbfed48541d671b4fed1462b86d547e7f13b5a9e4/contracts/new">via the contract explorer</a>.</p>
<p><a href="https://test.oracle.suredbits.com/contract/enum/f3650e03487941be8d3285f3eecd3689cbb9c4b49d1c6d467f92399647c45703">Here</a>
is a completed example of what we are going to build via the <code>bitcoin-s-cli</code></p>
<p>Alice has decided that she wants to do a 100,000 sats bet.
The amount of collateral Alice is going to contribute to the bet
is <code>60,000</code> sats.</p>
<p>Bob, Alice's counterparty, has agreed to contribute
<code>40,000</code> sats in collateral to the bet.</p>
<p>The next step is to create a <code>contractinfo</code> locally that represents
this bet. We can do this with the <code>createcontractinfo</code> rpc</p>
<pre><code class="hljs">./bitcoin-s-cli createcontractinfo fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>e \
<span class="hljs-number">100000</span> \
<span class="hljs-string">"{\"outcomes\" : { \"Republican_win\" : 0, \"Democrat_win\" : 100000, \"other\" : 60000 }}"</span>
fdd<span class="hljs-number">82</span>efd<span class="hljs-number">011200000000000186</span>a<span class="hljs-number">0</span>fda<span class="hljs-number">7103</span>b<span class="hljs-number">030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e00000000000000000</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e00000000000186</span>a<span class="hljs-number">0056</span>f<span class="hljs-number">74686572000000000000</span>ea<span class="hljs-number">60</span>fda<span class="hljs-number">712</span><span class="hljs-keyword">c</span><span class="hljs-number">7</span>fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>e
</code></pre>
<p>We can decode the encoded contract info (<code>fdd82efd011...</code>) with the <code>decodecontractinfo</code> to see what this represents</p>
<pre><code class="hljs"> ./bitcoin-s-cli decodecontractinfo fdd<span class="hljs-number">82</span>efd<span class="hljs-number">011200000000000186</span>a<span class="hljs-number">0</span>fda<span class="hljs-number">7103</span>b<span class="hljs-number">030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e00000000000000000</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e00000000000186</span>a<span class="hljs-number">0056</span>f<span class="hljs-number">74686572000000000000</span>ea<span class="hljs-number">60</span>fda<span class="hljs-number">712</span><span class="hljs-keyword">c</span><span class="hljs-number">7</span>fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>e
{
<span class="hljs-string">"totalCollateral"</span>: <span class="hljs-number">100000</span>,
<span class="hljs-string">"contractDescriptor"</span>: {
<span class="hljs-string">"outcomes"</span>: {
<span class="hljs-string">"Republican_win"</span>: <span class="hljs-number">0</span>,
<span class="hljs-string">"Democrat_win"</span>: <span class="hljs-number">100000</span>,
<span class="hljs-string">"other"</span>: <span class="hljs-number">60000</span>
},
<span class="hljs-string">"hex"</span>: <span class="hljs-string">"fda7103b030e52657075626c6963616e5f77696e00000000000000000c44656d6f637261745f77696e00000000000186a0056f74686572000000000000ea60"</span>
},
<span class="hljs-string">"oracleInfo"</span>: {
<span class="hljs-string">"announcement"</span>: {
<span class="hljs-string">"announcementSignature"</span>: <span class="hljs-string">"988fabec9820690f366271c9ceac00fbec1412075f9b319bb0db1f86460519dd9c61478949f2c00c35aeb8e53a1507616072cb802891e2c189a9fa65a0493de5"</span>,
<span class="hljs-string">"publicKey"</span>: <span class="hljs-string">"d3b04a6d7b90c9c43c09ebe5250d583e1c3fc423219b26f6a02ec394a130000a"</span>,
<span class="hljs-string">"event"</span>: {
<span class="hljs-string">"nonces"</span>: [
<span class="hljs-string">"ae3e30df5a203ad10ee89a909df0c8ccea4836e94e0a5d34c3cdab758fcaee14"</span>
],
<span class="hljs-string">"maturity"</span>: <span class="hljs-string">"2021-02-02T00:00:00Z"</span>,
<span class="hljs-string">"descriptor"</span>: {
<span class="hljs-string">"outcomes"</span>: [
<span class="hljs-string">"Republican_win"</span>,
<span class="hljs-string">"Democrat_win"</span>,
<span class="hljs-string">"other"</span>
],
<span class="hljs-string">"hex"</span>: <span class="hljs-string">"fdd8062400030e52657075626c6963616e5f77696e0c44656d6f637261745f77696e056f74686572"</span>
},
<span class="hljs-string">"eventId"</span>: <span class="hljs-string">"2020-us-election"</span>
},
<span class="hljs-string">"hex"</span>: <span class="hljs-string">"fdd824c3988fabec9820690f366271c9ceac00fbec1412075f9b319bb0db1f86460519dd9c61478949f2c00c35aeb8e53a1507616072cb802891e2c189a9fa65a0493de5d3b04a6d7b90c9c43c09ebe5250d583e1c3fc423219b26f6a02ec394a130000afdd8225f0001ae3e30df5a203ad10ee89a909df0c8ccea4836e94e0a5d34c3cdab758fcaee1460189600fdd8062400030e52657075626c6963616e5f77696e0c44656d6f637261745f77696e056f7468657210323032302d75732d656c656374696f6e"</span>
}
}
}
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="building-funding-txdlcs-with-your-counterparty"></a><a href="#building-funding-txdlcs-with-your-counterparty" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Building funding tx/dlcs with your counterparty</h3>
<p>Now that the contract terms are agreed upon, the next thing you need to do is
begin the <a href="https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#contract-negotiation">negotiation protocol</a> with your counterparty.</p>
<h4><a class="anchor" aria-hidden="true" id="offer"></a><a href="#offer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Offer</h4>
<p>The first thing you need to send your counterparty is an <a href="https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#the-offer_dlc-message"><code>offer</code></a>.
This message contains information about the utxos you will use to fund your side of the funding transaction.</p>
<p>You can create the offer with the <code>createdlcoffer</code>. As arguments this rpc takes</p>
<ol>
<li>contract info (what we build last step)</li>
<li>your collateral (the amount of money YOU are putting in the DLC)</li>
<li>fee rate (sats/vbyte)</li>
<li>refund locktime</li>
</ol>
<p>As of this writing, the current block height is <code>703,401</code>. For the sake of this example
I'm going to pick a refund locktime 2 weeks in advance <code>refundLocktime=705417</code></p>
<p>Note: this RPC will fail if you don't have enough funds in your wallet to fund your collateral.</p>
<pre><code class="hljs">./bitcoin-s-cli createdlcoffer fdd<span class="hljs-number">82</span>efd<span class="hljs-number">011200000000000186</span>a<span class="hljs-number">0</span>fda<span class="hljs-number">7103</span>b<span class="hljs-number">030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e00000000000000000</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e00000000000186</span>a<span class="hljs-number">0056</span>f<span class="hljs-number">74686572000000000000</span>ea<span class="hljs-number">60</span>fda<span class="hljs-number">712</span><span class="hljs-keyword">c</span><span class="hljs-number">7</span>fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>e \
<span class="hljs-number">60000</span> \
<span class="hljs-number">1</span> \
<span class="hljs-number">705417</span>
a<span class="hljs-number">71</span>a<span class="hljs-number">006</span>fe<span class="hljs-number">28</span><span class="hljs-keyword">c</span><span class="hljs-number">0</span>ab<span class="hljs-number">6</span>f<span class="hljs-number">1</span>b<span class="hljs-number">372</span><span class="hljs-keyword">c</span><span class="hljs-number">1</span>a<span class="hljs-number">6</span>a<span class="hljs-number">246</span>ae<span class="hljs-number">63</span>f<span class="hljs-number">74</span>f<span class="hljs-number">931e8365</span>e<span class="hljs-number">15</span>a<span class="hljs-number">089</span><span class="hljs-keyword">c</span><span class="hljs-number">68</span>d<span class="hljs-number">6190000000000</span>fdd<span class="hljs-number">82</span>efd<span class="hljs-number">011200000000000186</span>a<span class="hljs-number">0</span>fda<span class="hljs-number">7103</span>b<span class="hljs-number">030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e00000000000000000</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e00000000000186</span>a<span class="hljs-number">0056</span>f<span class="hljs-number">74686572000000000000</span>ea<span class="hljs-number">60</span>fda<span class="hljs-number">712</span><span class="hljs-keyword">c</span><span class="hljs-number">7</span>fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6e02869</span>f<span class="hljs-number">5</span>d<span class="hljs-number">3931620521</span>f<span class="hljs-number">3</span>eef<span class="hljs-number">85</span><span class="hljs-keyword">c</span><span class="hljs-number">0e7</span>adf<span class="hljs-number">64</span>a<span class="hljs-number">4</span>db<span class="hljs-number">330</span>d<span class="hljs-number">2</span>dfde<span class="hljs-number">3</span>aa<span class="hljs-number">871172274</span>f<span class="hljs-number">210</span>fe<span class="hljs-number">0001600141</span>df<span class="hljs-number">0</span>a<span class="hljs-number">84</span>b<span class="hljs-number">2</span>d<span class="hljs-number">2e611</span>dd<span class="hljs-number">595101</span>bfed<span class="hljs-number">6320143</span><span class="hljs-keyword">c</span><span class="hljs-number">47</span>ebbae<span class="hljs-number">7</span>b<span class="hljs-number">7</span>a<span class="hljs-number">0</span>db<span class="hljs-number">8657</span>d<span class="hljs-number">43000000000000</span>ea<span class="hljs-number">600001</span>fda<span class="hljs-number">714</span>fd<span class="hljs-number">01</span>b<span class="hljs-number">3875502</span>aad<span class="hljs-number">4</span>b<span class="hljs-number">013</span>d<span class="hljs-number">8019</span>d<span class="hljs-number">02000000000102</span>b<span class="hljs-number">3</span>cb<span class="hljs-number">67</span>fcadc<span class="hljs-number">31</span>bfbe<span class="hljs-number">996</span>d<span class="hljs-number">12420e2843242</span>ebcb<span class="hljs-number">1885</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>f<span class="hljs-number">81327</span>bc<span class="hljs-number">9</span>a<span class="hljs-number">0728</span>ad<span class="hljs-number">815</span>d<span class="hljs-number">0000000000</span>fdffffffb<span class="hljs-number">3</span>cb<span class="hljs-number">67</span>fcadc<span class="hljs-number">31</span>bfbe<span class="hljs-number">996</span>d<span class="hljs-number">12420e2843242</span>ebcb<span class="hljs-number">1885</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>f<span class="hljs-number">81327</span>bc<span class="hljs-number">9</span>a<span class="hljs-number">0728</span>ad<span class="hljs-number">815</span>d<span class="hljs-number">0100000000</span>fdffffff<span class="hljs-number">039e88010000000000220020</span>e<span class="hljs-number">15</span>f<span class="hljs-number">5</span>ed<span class="hljs-number">79</span>f<span class="hljs-number">651</span>a<span class="hljs-number">30</span>dc<span class="hljs-number">159</span>b<span class="hljs-number">015</span>cd<span class="hljs-number">26</span>b<span class="hljs-number">76e26</span><span class="hljs-keyword">c</span><span class="hljs-number">2832</span>d<span class="hljs-number">660</span><span class="hljs-keyword">c</span><span class="hljs-number">00365</span>ae<span class="hljs-number">27</span>aa<span class="hljs-number">70</span>cf<span class="hljs-number">8</span>a<span class="hljs-number">818</span>ddcd<span class="hljs-number">80000000000160014</span>b<span class="hljs-number">09</span>f<span class="hljs-number">423</span>de<span class="hljs-number">7</span><span class="hljs-keyword">c</span><span class="hljs-number">54</span>d<span class="hljs-number">96</span>bdc<span class="hljs-number">4173689</span>dcbe<span class="hljs-number">2084165</span>d<span class="hljs-number">6</span>ee<span class="hljs-number">1</span>b<span class="hljs-number">0e602000000001600146</span>b<span class="hljs-number">34</span>fc<span class="hljs-number">04227</span>d<span class="hljs-number">45</span>f<span class="hljs-number">792e6</span>baddfc<span class="hljs-number">098</span><span class="hljs-keyword">cc</span><span class="hljs-number">3</span>b<span class="hljs-number">74</span>a<span class="hljs-number">000e0247304402203</span>aead<span class="hljs-number">2</span>ad<span class="hljs-number">391e573</span>d<span class="hljs-number">27</span>f<span class="hljs-number">3</span>f<span class="hljs-number">81</span>bab<span class="hljs-number">703</span>eae<span class="hljs-number">6712</span>f<span class="hljs-number">4</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>ff<span class="hljs-number">6985e683</span>f<span class="hljs-number">551</span>d<span class="hljs-number">606925e58022042</span>fdbc<span class="hljs-number">5921</span>f<span class="hljs-number">569</span>f<span class="hljs-number">0016</span>bd<span class="hljs-number">86</span>fbd<span class="hljs-number">98</span>fa<span class="hljs-number">2</span>a<span class="hljs-number">19792606439</span>fec<span class="hljs-number">818054801</span>d<span class="hljs-number">59</span>d<span class="hljs-number">1297e0121036</span>cb<span class="hljs-number">7209</span>a<span class="hljs-number">4</span>d<span class="hljs-number">6</span>ef<span class="hljs-number">8</span>af<span class="hljs-number">38106</span>fc<span class="hljs-number">109908</span>d<span class="hljs-number">7</span>ef<span class="hljs-number">88</span>f<span class="hljs-number">80</span>f<span class="hljs-number">1265</span>a<span class="hljs-number">4</span>b<span class="hljs-number">392</span>adc<span class="hljs-number">95</span>ccfed<span class="hljs-number">3362</span>a<span class="hljs-number">0247304402203</span>b<span class="hljs-number">55</span><span class="hljs-keyword">c</span><span class="hljs-number">699</span>d<span class="hljs-number">340</span>d<span class="hljs-number">128</span><span class="hljs-keyword">c</span><span class="hljs-number">124</span>fc<span class="hljs-number">21834069</span>a<span class="hljs-number">3e68</span>ba<span class="hljs-number">2</span>cb<span class="hljs-number">4</span>bfbf<span class="hljs-number">7</span><span class="hljs-keyword">c</span><span class="hljs-number">6</span>d<span class="hljs-number">8</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>feb<span class="hljs-number">813594</span>ee<span class="hljs-number">902207</span>b<span class="hljs-number">11</span>ad<span class="hljs-number">746</span>d<span class="hljs-number">981</span>d<span class="hljs-number">49</span>d<span class="hljs-number">61</span>fa<span class="hljs-number">8</span>d<span class="hljs-number">6</span>a<span class="hljs-number">40</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>de<span class="hljs-number">7</span>eb<span class="hljs-number">2</span>fd<span class="hljs-number">06</span>ab<span class="hljs-number">673</span>fa<span class="hljs-number">8</span>f<span class="hljs-number">5</span>d<span class="hljs-number">4</span>b<span class="hljs-number">210467080</span>ea<span class="hljs-number">012102</span>da<span class="hljs-number">67</span>b<span class="hljs-number">76</span>b<span class="hljs-number">763</span>ac<span class="hljs-number">07</span>b<span class="hljs-number">9574</span>a<span class="hljs-number">0</span>f<span class="hljs-number">9</span>eb<span class="hljs-number">87</span>cf<span class="hljs-number">45</span>a<span class="hljs-number">71</span>b<span class="hljs-number">7</span>b<span class="hljs-number">95</span><span class="hljs-keyword">c</span><span class="hljs-number">5446</span>ab<span class="hljs-number">49845771e08</span>dce<span class="hljs-number">0</span>a<span class="hljs-number">00000000000000001</span>fffffffd<span class="hljs-number">006</span>b<span class="hljs-number">000000160014</span>eff<span class="hljs-number">30273</span>b<span class="hljs-number">9</span>aa<span class="hljs-number">3</span>feb<span class="hljs-number">39</span>fee<span class="hljs-number">0916</span>a<span class="hljs-number">09</span>bf<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">2477</span>df<span class="hljs-number">0</span>a<span class="hljs-number">1</span><span class="hljs-keyword">c</span><span class="hljs-number">94</span>a<span class="hljs-number">347</span>be<span class="hljs-number">0</span>eddf<span class="hljs-number">79</span>fb<span class="hljs-number">7</span>cdd<span class="hljs-number">1</span>df<span class="hljs-number">256</span>b<span class="hljs-number">830000000000000001000</span>abf<span class="hljs-number">99000</span>ac<span class="hljs-number">389</span>
</code></pre>
<p>Yay! We have now created an offer (<code>a71a006fe...</code>) that we can send to our counterparty, Bob. If you would like to review
the offer before sending it to him you can use <code>decodeoffer</code></p>
<pre><code class="hljs">./bitcoin-s-cli decodeoffer a<span class="hljs-number">71</span>a<span class="hljs-number">006</span>fe<span class="hljs-number">28</span><span class="hljs-keyword">c</span><span class="hljs-number">0</span>ab<span class="hljs-number">6</span>f<span class="hljs-number">1</span>b<span class="hljs-number">372</span><span class="hljs-keyword">c</span><span class="hljs-number">1</span>a<span class="hljs-number">6</span>a<span class="hljs-number">246</span>ae<span class="hljs-number">63</span>f<span class="hljs-number">74</span>f<span class="hljs-number">931e8365</span>e<span class="hljs-number">15</span>a<span class="hljs-number">089</span><span class="hljs-keyword">c</span><span class="hljs-number">68</span>d<span class="hljs-number">6190000000000</span>fdd<span class="hljs-number">82</span>efd<span class="hljs-number">011200000000000186</span>a<span class="hljs-number">0</span>fda<span class="hljs-number">7103</span>b<span class="hljs-number">030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e00000000000000000</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e00000000000186</span>a<span class="hljs-number">0056</span>f<span class="hljs-number">74686572000000000000</span>ea<span class="hljs-number">60</span>fda<span class="hljs-number">712</span><span class="hljs-keyword">c</span><span class="hljs-number">7</span>fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6e02869</span>f<span class="hljs-number">5</span>d<span class="hljs-number">3931620521</span>f<span class="hljs-number">3</span>eef<span class="hljs-number">85</span><span class="hljs-keyword">c</span><span class="hljs-number">0e7</span>adf<span class="hljs-number">64</span>a<span class="hljs-number">4</span>db<span class="hljs-number">330</span>d<span class="hljs-number">2</span>dfde<span class="hljs-number">3</span>aa<span class="hljs-number">871172274</span>f<span class="hljs-number">210</span>fe<span class="hljs-number">0001600141</span>df<span class="hljs-number">0</span>a<span class="hljs-number">84</span>b<span class="hljs-number">2</span>d<span class="hljs-number">2e611</span>dd<span class="hljs-number">595101</span>bfed<span class="hljs-number">6320143</span><span class="hljs-keyword">c</span><span class="hljs-number">47</span>ebbae<span class="hljs-number">7</span>b<span class="hljs-number">7</span>a<span class="hljs-number">0</span>db<span class="hljs-number">8657</span>d<span class="hljs-number">43000000000000</span>ea<span class="hljs-number">600001</span>fda<span class="hljs-number">714</span>fd<span class="hljs-number">01</span>b<span class="hljs-number">3875502</span>aad<span class="hljs-number">4</span>b<span class="hljs-number">013</span>d<span class="hljs-number">8019</span>d<span class="hljs-number">02000000000102</span>b<span class="hljs-number">3</span>cb<span class="hljs-number">67</span>fcadc<span class="hljs-number">31</span>bfbe<span class="hljs-number">996</span>d<span class="hljs-number">12420e2843242</span>ebcb<span class="hljs-number">1885</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>f<span class="hljs-number">81327</span>bc<span class="hljs-number">9</span>a<span class="hljs-number">0728</span>ad<span class="hljs-number">815</span>d<span class="hljs-number">0000000000</span>fdffffffb<span class="hljs-number">3</span>cb<span class="hljs-number">67</span>fcadc<span class="hljs-number">31</span>bfbe<span class="hljs-number">996</span>d<span class="hljs-number">12420e2843242</span>ebcb<span class="hljs-number">1885</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>f<span class="hljs-number">81327</span>bc<span class="hljs-number">9</span>a<span class="hljs-number">0728</span>ad<span class="hljs-number">815</span>d<span class="hljs-number">0100000000</span>fdffffff<span class="hljs-number">039e88010000000000220020</span>e<span class="hljs-number">15</span>f<span class="hljs-number">5</span>ed<span class="hljs-number">79</span>f<span class="hljs-number">651</span>a<span class="hljs-number">30</span>dc<span class="hljs-number">159</span>b<span class="hljs-number">015</span>cd<span class="hljs-number">26</span>b<span class="hljs-number">76e26</span><span class="hljs-keyword">c</span><span class="hljs-number">2832</span>d<span class="hljs-number">660</span><span class="hljs-keyword">c</span><span class="hljs-number">00365</span>ae<span class="hljs-number">27</span>aa<span class="hljs-number">70</span>cf<span class="hljs-number">8</span>a<span class="hljs-number">818</span>ddcd<span class="hljs-number">80000000000160014</span>b<span class="hljs-number">09</span>f<span class="hljs-number">423</span>de<span class="hljs-number">7</span><span class="hljs-keyword">c</span><span class="hljs-number">54</span>d<span class="hljs-number">96</span>bdc<span class="hljs-number">4173689</span>dcbe<span class="hljs-number">2084165</span>d<span class="hljs-number">6</span>ee<span class="hljs-number">1</span>b<span class="hljs-number">0e602000000001600146</span>b<span class="hljs-number">34</span>fc<span class="hljs-number">04227</span>d<span class="hljs-number">45</span>f<span class="hljs-number">792e6</span>baddfc<span class="hljs-number">098</span><span class="hljs-keyword">cc</span><span class="hljs-number">3</span>b<span class="hljs-number">74</span>a<span class="hljs-number">000e0247304402203</span>aead<span class="hljs-number">2</span>ad<span class="hljs-number">391e573</span>d<span class="hljs-number">27</span>f<span class="hljs-number">3</span>f<span class="hljs-number">81</span>bab<span class="hljs-number">703</span>eae<span class="hljs-number">6712</span>f<span class="hljs-number">4</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>ff<span class="hljs-number">6985e683</span>f<span class="hljs-number">551</span>d<span class="hljs-number">606925e58022042</span>fdbc<span class="hljs-number">5921</span>f<span class="hljs-number">569</span>f<span class="hljs-number">0016</span>bd<span class="hljs-number">86</span>fbd<span class="hljs-number">98</span>fa<span class="hljs-number">2</span>a<span class="hljs-number">19792606439</span>fec<span class="hljs-number">818054801</span>d<span class="hljs-number">59</span>d<span class="hljs-number">1297e0121036</span>cb<span class="hljs-number">7209</span>a<span class="hljs-number">4</span>d<span class="hljs-number">6</span>ef<span class="hljs-number">8</span>af<span class="hljs-number">38106</span>fc<span class="hljs-number">109908</span>d<span class="hljs-number">7</span>ef<span class="hljs-number">88</span>f<span class="hljs-number">80</span>f<span class="hljs-number">1265</span>a<span class="hljs-number">4</span>b<span class="hljs-number">392</span>adc<span class="hljs-number">95</span>ccfed<span class="hljs-number">3362</span>a<span class="hljs-number">0247304402203</span>b<span class="hljs-number">55</span><span class="hljs-keyword">c</span><span class="hljs-number">699</span>d<span class="hljs-number">340</span>d<span class="hljs-number">128</span><span class="hljs-keyword">c</span><span class="hljs-number">124</span>fc<span class="hljs-number">21834069</span>a<span class="hljs-number">3e68</span>ba<span class="hljs-number">2</span>cb<span class="hljs-number">4</span>bfbf<span class="hljs-number">7</span><span class="hljs-keyword">c</span><span class="hljs-number">6</span>d<span class="hljs-number">8</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>feb<span class="hljs-number">813594</span>ee<span class="hljs-number">902207</span>b<span class="hljs-number">11</span>ad<span class="hljs-number">746</span>d<span class="hljs-number">981</span>d<span class="hljs-number">49</span>d<span class="hljs-number">61</span>fa<span class="hljs-number">8</span>d<span class="hljs-number">6</span>a<span class="hljs-number">40</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>de<span class="hljs-number">7</span>eb<span class="hljs-number">2</span>fd<span class="hljs-number">06</span>ab<span class="hljs-number">673</span>fa<span class="hljs-number">8</span>f<span class="hljs-number">5</span>d<span class="hljs-number">4</span>b<span class="hljs-number">210467080</span>ea<span class="hljs-number">012102</span>da<span class="hljs-number">67</span>b<span class="hljs-number">76</span>b<span class="hljs-number">763</span>ac<span class="hljs-number">07</span>b<span class="hljs-number">9574</span>a<span class="hljs-number">0</span>f<span class="hljs-number">9</span>eb<span class="hljs-number">87</span>cf<span class="hljs-number">45</span>a<span class="hljs-number">71</span>b<span class="hljs-number">7</span>b<span class="hljs-number">95</span><span class="hljs-keyword">c</span><span class="hljs-number">5446</span>ab<span class="hljs-number">49845771e08</span>dce<span class="hljs-number">0</span>a<span class="hljs-number">00000000000000001</span>fffffffd<span class="hljs-number">006</span>b<span class="hljs-number">000000160014</span>eff<span class="hljs-number">30273</span>b<span class="hljs-number">9</span>aa<span class="hljs-number">3</span>feb<span class="hljs-number">39</span>fee<span class="hljs-number">0916</span>a<span class="hljs-number">09</span>bf<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">2477</span>df<span class="hljs-number">0</span>a<span class="hljs-number">1</span><span class="hljs-keyword">c</span><span class="hljs-number">94</span>a<span class="hljs-number">347</span>be<span class="hljs-number">0</span>eddf<span class="hljs-number">79</span>fb<span class="hljs-number">7</span>cdd<span class="hljs-number">1</span>df<span class="hljs-number">256</span>b<span class="hljs-number">830000000000000001000</span>abf<span class="hljs-number">99000</span>ac<span class="hljs-number">389</span>
{
<span class="hljs-string">"contractFlags"</span>: <span class="hljs-string">"0"</span>,
<span class="hljs-string">"chainHash"</span>: <span class="hljs-string">"6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000"</span>,
<span class="hljs-string">"contractInfo"</span>: {
<span class="hljs-string">"totalCollateral"</span>: <span class="hljs-number">100000</span>,
<span class="hljs-string">"contractDescriptor"</span>: {
<span class="hljs-string">"outcomes"</span>: {
<span class="hljs-string">"Republican_win"</span>: <span class="hljs-number">0</span>,
<span class="hljs-string">"Democrat_win"</span>: <span class="hljs-number">100000</span>,
<span class="hljs-string">"other"</span>: <span class="hljs-number">60000</span>
}
},
<span class="hljs-string">"oracleInfo"</span>: {
<span class="hljs-string">"announcement"</span>: {
<span class="hljs-string">"announcementSignature"</span>: <span class="hljs-string">"988fabec9820690f366271c9ceac00fbec1412075f9b319bb0db1f86460519dd9c61478949f2c00c35aeb8e53a1507616072cb802891e2c189a9fa65a0493de5"</span>,
<span class="hljs-string">"publicKey"</span>: <span class="hljs-string">"d3b04a6d7b90c9c43c09ebe5250d583e1c3fc423219b26f6a02ec394a130000a"</span>,
<span class="hljs-string">"event"</span>: {
<span class="hljs-string">"nonces"</span>: [
<span class="hljs-string">"ae3e30df5a203ad10ee89a909df0c8ccea4836e94e0a5d34c3cdab758fcaee14"</span>
],
<span class="hljs-string">"maturity"</span>: <span class="hljs-string">"2021-02-02T00:00:00Z"</span>,
<span class="hljs-string">"descriptor"</span>: {
<span class="hljs-string">"outcomes"</span>: [
<span class="hljs-string">"Republican_win"</span>,
<span class="hljs-string">"Democrat_win"</span>,
<span class="hljs-string">"other"</span>
]
},
<span class="hljs-string">"eventId"</span>: <span class="hljs-string">"2020-us-election"</span>
}
}
}
},
<span class="hljs-string">"fundingPubKey"</span>: <span class="hljs-string">"02869f5d3931620521f3eef85c0e7adf64a4db330d2dfde3aa871172274f210fe0"</span>,
<span class="hljs-string">"payoutSPK"</span>: <span class="hljs-string">"1600141df0a84b2d2e611dd595101bfed6320143c47ebb"</span>,
<span class="hljs-string">"payoutSerialId"</span>: <span class="hljs-number">1.2572776984081695E19</span>,
<span class="hljs-string">"offerCollateral"</span>: <span class="hljs-number">60000</span>,
<span class="hljs-string">"fundingInputs"</span>: [
{
<span class="hljs-string">"inputSerialId"</span>: <span class="hljs-number">9.751703500876681E18</span>,
<span class="hljs-string">"prevTx"</span>: <span class="hljs-string">"02000000000102b3cb67fcadc31bfbe996d12420e2843242ebcb1885c9f81327bc9a0728ad815d0000000000fdffffffb3cb67fcadc31bfbe996d12420e2843242ebcb1885c9f81327bc9a0728ad815d0100000000fdffffff039e88010000000000220020e15f5ed79f651a30dc159b015cd26b76e26c2832d660c00365ae27aa70cf8a818ddcd80000000000160014b09f423de7c54d96bdc4173689dcbe2084165d6ee1b0e602000000001600146b34fc04227d45f792e6baddfc098cc3b74a000e0247304402203aead2ad391e573d27f3f81bab703eae6712f4c3ff6985e683f551d606925e58022042fdbc5921f569f0016bd86fbd98fa2a19792606439fec818054801d59d1297e0121036cb7209a4d6ef8af38106fc109908d7ef88f80f1265a4b392adc95ccfed3362a0247304402203b55c699d340d128c124fc21834069a3e68ba2cb4bfbf7c6d8c3feb813594ee902207b11ad746d981d49d61fa8d6a40c35de7eb2fd06ab673fa8f5d4b210467080ea012102da67b76b763ac07b9574a0f9eb87cf45a71b7b95c5446ab49845771e08dce0a000000000"</span>,
<span class="hljs-string">"prevTxVout"</span>: <span class="hljs-number">1</span>,
<span class="hljs-string">"sequence"</span>: <span class="hljs-number">4294967293</span>,
<span class="hljs-string">"maxWitnessLen"</span>: <span class="hljs-number">107</span>,
<span class="hljs-string">"redeemScript"</span>: <span class="hljs-keyword">null</span>
}
],
<span class="hljs-string">"changeSPK"</span>: <span class="hljs-string">"160014eff30273b9aa3feb39fee0916a09bf2c2477df0a"</span>,
<span class="hljs-string">"changeSerialId"</span>: <span class="hljs-number">2059450458141810176</span>,
<span class="hljs-string">"fundOutputSerialId"</span>: <span class="hljs-number">1.1508893674044221E19</span>,
<span class="hljs-string">"feeRatePerVb"</span>: <span class="hljs-number">1</span>,
<span class="hljs-string">"cetLocktime"</span>: <span class="hljs-number">0</span>,
<span class="hljs-string">"refundLocktime"</span>: <span class="hljs-number">705417</span>
}
</code></pre>
<p>The final thing Alice needs to give bob is here wallet's tor address. This is used to interactively
build and verify contract execution transactions (CET). This can be done in a manual fashion, but I'm skipping
this for the sake of brevity and better UX. Please contact me if you would like manual steps with no built in networking.</p>
<p>Alice can retrieve her dlc host address with</p>
<pre><code class="hljs"><span class="hljs-keyword">.</span>/bitcoin-s-cli getdlchostaddress
v573gl64h5zik544qvi725vxliiwwpsedarsziidp254u3cfnxlp6zqd.onion:2862
</code></pre>
<p>She always needs to send this Bob.</p>
<h4><a class="anchor" aria-hidden="true" id="accept"></a><a href="#accept" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Accept</h4>
<p>Once Bob has received Alice's dlc host address and the offer, and reviews the terms of the offer with <code>decodeoffer</code>, he
can accept the offer.</p>
<pre><code class="hljs">./bitcoin-s-cli acceptdlc a<span class="hljs-number">71</span>a<span class="hljs-number">006</span>fe<span class="hljs-number">28</span><span class="hljs-keyword">c</span><span class="hljs-number">0</span>ab<span class="hljs-number">6</span>f<span class="hljs-number">1</span>b<span class="hljs-number">372</span><span class="hljs-keyword">c</span><span class="hljs-number">1</span>a<span class="hljs-number">6</span>a<span class="hljs-number">246</span>ae<span class="hljs-number">63</span>f<span class="hljs-number">74</span>f<span class="hljs-number">931e8365</span>e<span class="hljs-number">15</span>a<span class="hljs-number">089</span><span class="hljs-keyword">c</span><span class="hljs-number">68</span>d<span class="hljs-number">6190000000000</span>fdd<span class="hljs-number">82</span>efd<span class="hljs-number">011200000000000186</span>a<span class="hljs-number">0</span>fda<span class="hljs-number">7103</span>b<span class="hljs-number">030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e00000000000000000</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e00000000000186</span>a<span class="hljs-number">0056</span>f<span class="hljs-number">74686572000000000000</span>ea<span class="hljs-number">60</span>fda<span class="hljs-number">712</span><span class="hljs-keyword">c</span><span class="hljs-number">7</span>fdd<span class="hljs-number">824</span><span class="hljs-keyword">c</span><span class="hljs-number">3988</span>fabec<span class="hljs-number">9820690</span>f<span class="hljs-number">366271</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>ceac<span class="hljs-number">00</span>fbec<span class="hljs-number">1412075</span>f<span class="hljs-number">9</span>b<span class="hljs-number">319</span>bb<span class="hljs-number">0</span>db<span class="hljs-number">1</span>f<span class="hljs-number">86460519</span>dd<span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">61478949</span>f<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">00</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>aeb<span class="hljs-number">8e53</span>a<span class="hljs-number">1507616072</span>cb<span class="hljs-number">802891e2</span><span class="hljs-keyword">c</span><span class="hljs-number">189</span>a<span class="hljs-number">9</span>fa<span class="hljs-number">65</span>a<span class="hljs-number">0493</span>de<span class="hljs-number">5</span>d<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>afdd<span class="hljs-number">8225</span>f<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1460189600</span>fdd<span class="hljs-number">8062400030e52657075626</span><span class="hljs-keyword">c</span><span class="hljs-number">6963616e5</span>f<span class="hljs-number">77696e0</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696e056</span>f<span class="hljs-number">7468657210323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6e02869</span>f<span class="hljs-number">5</span>d<span class="hljs-number">3931620521</span>f<span class="hljs-number">3</span>eef<span class="hljs-number">85</span><span class="hljs-keyword">c</span><span class="hljs-number">0e7</span>adf<span class="hljs-number">64</span>a<span class="hljs-number">4</span>db<span class="hljs-number">330</span>d<span class="hljs-number">2</span>dfde<span class="hljs-number">3</span>aa<span class="hljs-number">871172274</span>f<span class="hljs-number">210</span>fe<span class="hljs-number">0001600141</span>df<span class="hljs-number">0</span>a<span class="hljs-number">84</span>b<span class="hljs-number">2</span>d<span class="hljs-number">2e611</span>dd<span class="hljs-number">595101</span>bfed<span class="hljs-number">6320143</span><span class="hljs-keyword">c</span><span class="hljs-number">47</span>ebbae<span class="hljs-number">7</span>b<span class="hljs-number">7</span>a<span class="hljs-number">0</span>db<span class="hljs-number">8657</span>d<span class="hljs-number">43000000000000</span>ea<span class="hljs-number">600001</span>fda<span class="hljs-number">714</span>fd<span class="hljs-number">01</span>b<span class="hljs-number">3875502</span>aad<span class="hljs-number">4</span>b<span class="hljs-number">013</span>d<span class="hljs-number">8019</span>d<span class="hljs-number">02000000000102</span>b<span class="hljs-number">3</span>cb<span class="hljs-number">67</span>fcadc<span class="hljs-number">31</span>bfbe<span class="hljs-number">996</span>d<span class="hljs-number">12420e2843242</span>ebcb<span class="hljs-number">1885</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>f<span class="hljs-number">81327</span>bc<span class="hljs-number">9</span>a<span class="hljs-number">0728</span>ad<span class="hljs-number">815</span>d<span class="hljs-number">0000000000</span>fdffffffb<span class="hljs-number">3</span>cb<span class="hljs-number">67</span>fcadc<span class="hljs-number">31</span>bfbe<span class="hljs-number">996</span>d<span class="hljs-number">12420e2843242</span>ebcb<span class="hljs-number">1885</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span>f<span class="hljs-number">81327</span>bc<span class="hljs-number">9</span>a<span class="hljs-number">0728</span>ad<span class="hljs-number">815</span>d<span class="hljs-number">0100000000</span>fdffffff<span class="hljs-number">039e88010000000000220020</span>e<span class="hljs-number">15</span>f<span class="hljs-number">5</span>ed<span class="hljs-number">79</span>f<span class="hljs-number">651</span>a<span class="hljs-number">30</span>dc<span class="hljs-number">159</span>b<span class="hljs-number">015</span>cd<span class="hljs-number">26</span>b<span class="hljs-number">76e26</span><span class="hljs-keyword">c</span><span class="hljs-number">2832</span>d<span class="hljs-number">660</span><span class="hljs-keyword">c</span><span class="hljs-number">00365</span>ae<span class="hljs-number">27</span>aa<span class="hljs-number">70</span>cf<span class="hljs-number">8</span>a<span class="hljs-number">818</span>ddcd<span class="hljs-number">80000000000160014</span>b<span class="hljs-number">09</span>f<span class="hljs-number">423</span>de<span class="hljs-number">7</span><span class="hljs-keyword">c</span><span class="hljs-number">54</span>d<span class="hljs-number">96</span>bdc<span class="hljs-number">4173689</span>dcbe<span class="hljs-number">2084165</span>d<span class="hljs-number">6</span>ee<span class="hljs-number">1</span>b<span class="hljs-number">0e602000000001600146</span>b<span class="hljs-number">34</span>fc<span class="hljs-number">04227</span>d<span class="hljs-number">45</span>f<span class="hljs-number">792e6</span>baddfc<span class="hljs-number">098</span><span class="hljs-keyword">cc</span><span class="hljs-number">3</span>b<span class="hljs-number">74</span>a<span class="hljs-number">000e0247304402203</span>aead<span class="hljs-number">2</span>ad<span class="hljs-number">391e573</span>d<span class="hljs-number">27</span>f<span class="hljs-number">3</span>f<span class="hljs-number">81</span>bab<span class="hljs-number">703</span>eae<span class="hljs-number">6712</span>f<span class="hljs-number">4</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>ff<span class="hljs-number">6985e683</span>f<span class="hljs-number">551</span>d<span class="hljs-number">606925e58022042</span>fdbc<span class="hljs-number">5921</span>f<span class="hljs-number">569</span>f<span class="hljs-number">0016</span>bd<span class="hljs-number">86</span>fbd<span class="hljs-number">98</span>fa<span class="hljs-number">2</span>a<span class="hljs-number">19792606439</span>fec<span class="hljs-number">818054801</span>d<span class="hljs-number">59</span>d<span class="hljs-number">1297e0121036</span>cb<span class="hljs-number">7209</span>a<span class="hljs-number">4</span>d<span class="hljs-number">6</span>ef<span class="hljs-number">8</span>af<span class="hljs-number">38106</span>fc<span class="hljs-number">109908</span>d<span class="hljs-number">7</span>ef<span class="hljs-number">88</span>f<span class="hljs-number">80</span>f<span class="hljs-number">1265</span>a<span class="hljs-number">4</span>b<span class="hljs-number">392</span>adc<span class="hljs-number">95</span>ccfed<span class="hljs-number">3362</span>a<span class="hljs-number">0247304402203</span>b<span class="hljs-number">55</span><span class="hljs-keyword">c</span><span class="hljs-number">699</span>d<span class="hljs-number">340</span>d<span class="hljs-number">128</span><span class="hljs-keyword">c</span><span class="hljs-number">124</span>fc<span class="hljs-number">21834069</span>a<span class="hljs-number">3e68</span>ba<span class="hljs-number">2</span>cb<span class="hljs-number">4</span>bfbf<span class="hljs-number">7</span><span class="hljs-keyword">c</span><span class="hljs-number">6</span>d<span class="hljs-number">8</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>feb<span class="hljs-number">813594</span>ee<span class="hljs-number">902207</span>b<span class="hljs-number">11</span>ad<span class="hljs-number">746</span>d<span class="hljs-number">981</span>d<span class="hljs-number">49</span>d<span class="hljs-number">61</span>fa<span class="hljs-number">8</span>d<span class="hljs-number">6</span>a<span class="hljs-number">40</span><span class="hljs-keyword">c</span><span class="hljs-number">35</span>de<span class="hljs-number">7</span>eb<span class="hljs-number">2</span>fd<span class="hljs-number">06</span>ab<span class="hljs-number">673</span>fa<span class="hljs-number">8</span>f<span class="hljs-number">5</span>d<span class="hljs-number">4</span>b<span class="hljs-number">210467080</span>ea<span class="hljs-number">012102</span>da<span class="hljs-number">67</span>b<span class="hljs-number">76</span>b<span class="hljs-number">763</span>ac<span class="hljs-number">07</span>b<span class="hljs-number">9574</span>a<span class="hljs-number">0</span>f<span class="hljs-number">9</span>eb<span class="hljs-number">87</span>cf<span class="hljs-number">45</span>a<span class="hljs-number">71</span>b<span class="hljs-number">7</span>b<span class="hljs-number">95</span><span class="hljs-keyword">c</span><span class="hljs-number">5446</span>ab<span class="hljs-number">49845771e08</span>dce<span class="hljs-number">0</span>a<span class="hljs-number">00000000000000001</span>fffffffd<span class="hljs-number">006</span>b<span class="hljs-number">000000160014</span>eff<span class="hljs-number">30273</span>b<span class="hljs-number">9</span>aa<span class="hljs-number">3</span>feb<span class="hljs-number">39</span>fee<span class="hljs-number">0916</span>a<span class="hljs-number">09</span>bf<span class="hljs-number">2</span><span class="hljs-keyword">c</span><span class="hljs-number">2477</span>df<span class="hljs-number">0</span>a<span class="hljs-number">1</span><span class="hljs-keyword">c</span><span class="hljs-number">94</span>a<span class="hljs-number">347</span>be<span class="hljs-number">0</span>eddf<span class="hljs-number">79</span>fb<span class="hljs-number">7</span>cdd<span class="hljs-number">1</span>df<span class="hljs-number">256</span>b<span class="hljs-number">830000000000000001000</span>abf<span class="hljs-number">99000</span>ac<span class="hljs-number">389</span> v<span class="hljs-number">573</span>gl<span class="hljs-number">64</span>h<span class="hljs-number">5</span>zik<span class="hljs-number">544</span>qv<span class="hljs-keyword">i725</span>vxliiwwpsedarsziidp<span class="hljs-number">254</span>u<span class="hljs-number">3</span>cfnxlp<span class="hljs-number">6</span>zqd.onion:<span class="hljs-number">2862</span>
</code></pre>
<p>Currently this RPC doesn't return anything, but if you look at logs you should see your funding tx broadcast.
You can find logs at <code>~/.bitcoin-s/{mainnet,testnet3,regtest}/bitcoin-s.log</code></p>
<pre><code class="hljs">[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">02</span>:<span class="hljs-number">52</span>UTC INFO [DLCClient] connecting to SOCKS5 proxy localhost/<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">49196</span>
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">02</span>:<span class="hljs-number">52</span>UTC INFO [DLCClient] connected to SOCKS5 proxy localhost/<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">49196</span>
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">02</span>:<span class="hljs-number">52</span>UTC INFO [DLCClient] connecting to v573gl64h5zik544qvi725vxliiwwpsedarsziidp254u3cfnxlp6zqd.onion/&lt;unresolved&gt;:<span class="hljs-number">2862</span> via SOCKS5 localhost/<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">49196</span>
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">02</span>UTC INFO [DLCClient] connected to v573gl64h5zik544qvi725vxliiwwpsedarsziidp254u3cfnxlp6zqd.onion/&lt;unresolved&gt;:<span class="hljs-number">2862</span> via SOCKS5 proxy localhost/<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">49196</span>
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">02</span>UTC INFO [DLCDataHandler] Received LnMessage DLCOfferTLV
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">02</span>UTC INFO [DLCWallet$DLCWalletImpl] Creating DLC Accept <span class="hljs-keyword">for</span> tempContractId a4e127a34eb1fc998018bfc4a7e1a6943f6588d765b1e36ca6b9c7cc67b7eaa8
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">03</span>UTC INFO [DLCWallet$DLCWalletImpl] Spending UTXOs: <span class="hljs-number">3</span>ef93b35f692ce8f7ee0cfeb034941dec751fd9237624482d447964cbca1b766:<span class="hljs-number">0</span>
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">03</span>UTC INFO [DLCWallet$DLCWalletImpl] UTXO <span class="hljs-number">0</span> details: TransactionOutput(<span class="hljs-number">4466999</span> sats,wpkh(dca26092b7540ba1c7bea286f73955a7cb247dd9))
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">03</span>UTC INFO [DLCWallet$DLCWalletImpl] Creating CET Sigs <span class="hljs-keyword">for</span> a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">03</span>UTC INFO [DLCWallet$DLCWalletImpl] Created DLCAccept <span class="hljs-keyword">for</span> tempContractId a4e127a34eb1fc998018bfc4a7e1a6943f6588d765b1e36ca6b9c7cc67b7eaa8 with contract Id a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">04</span>UTC INFO [DLCDataHandler] Received LnMessage DLCSignTLV
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">04</span>UTC INFO [DLCWallet$DLCWalletImpl] Verifying CET Signatures <span class="hljs-keyword">for</span> contract a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">04</span>UTC INFO [DLCWallet$DLCWalletImpl] CET Signatures are valid <span class="hljs-keyword">for</span> contract a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">04</span>UTC INFO [DLCWallet$DLCWalletImpl] Verifying <span class="hljs-number">1</span> funding sigs <span class="hljs-keyword">for</span> contract a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">05</span>UTC INFO [DLCWallet$DLCWalletImpl] DLC a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439 sigs are verified <span class="hljs-keyword">and</span> stored, ready to broadcast
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">05</span>UTC INFO [DLCWallet$DLCWalletImpl] Created funding transaction <span class="hljs-number">0</span>d74896958cee0b142a189211cac215f9f0455462290966d65ebf9fb1865de91 <span class="hljs-keyword">for</span> contract a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">05</span>UTC INFO [DLCWallet$DLCWalletImpl] Broadcasting funding transaction <span class="hljs-number">0</span>d74896958cee0b142a189211cac215f9f0455462290966d65ebf9fb1865de91 <span class="hljs-keyword">for</span> contract a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">05</span>UTC INFO [DLCWallet$DLCWalletImpl] Adding UTXO to wallet: <span class="hljs-number">91</span>de6518fbf9eb656d9690224655049f5f21ac1c2189a142b1e0ce586989740d:<span class="hljs-number">2</span> amt=<span class="hljs-number">4426788</span> sats
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">05</span>UTC INFO [DLCWallet$DLCWalletImpl] Successfully inserted UTXO <span class="hljs-number">91</span>de6518fbf9eb656d9690224655049f5f21ac1c2189a142b1e0ce586989740d:<span class="hljs-number">2</span> <span class="hljs-built_in">int</span>o DB
[info] <span class="hljs-number">2021</span><span class="hljs-number">-10</span><span class="hljs-number">-03</span>T21:<span class="hljs-number">03</span>:<span class="hljs-number">05</span>UTC INFO [DLCWallet$DLCWalletImpl] Processing tx <span class="hljs-number">0</span>d74896958cee0b142a189211cac215f9f0455462290966d65ebf9fb1865de91 <span class="hljs-keyword">for</span> <span class="hljs-number">1</span> DLC(s)
</code></pre>
<p>You can check the state of the DLC with <code>getdlcs</code></p>
<pre><code class="hljs">./bitcoin<span class="hljs-_">-s</span>-cli getdlcs
[
{
<span class="hljs-string">"state"</span>: <span class="hljs-string">"Broadcasted"</span>,
<span class="hljs-string">"dlcId"</span>: <span class="hljs-string">"2f1224d3ab1f2456d020e7777009153e2ee5db2d127b94774580e428f5a899b9"</span>,
<span class="hljs-string">"isInitiator"</span>: <span class="hljs-literal">false</span>,
<span class="hljs-string">"lastUpdated"</span>: <span class="hljs-string">"2021-10-03T21:03:05.539Z"</span>,
<span class="hljs-string">"tempContractId"</span>: <span class="hljs-string">"a4e127a34eb1fc998018bfc4a7e1a6943f6588d765b1e36ca6b9c7cc67b7eaa8"</span>,
<span class="hljs-string">"contractId"</span>: <span class="hljs-string">"a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439"</span>,
<span class="hljs-string">"contractInfo"</span>: <span class="hljs-string">"fdd82efd011200000000000186a0fda7103b030e52657075626c6963616e5f77696e00000000000000000c44656d6f637261745f77696e00000000000186a0056f74686572000000000000ea60fda712c7fdd824c3988fabec9820690f366271c9ceac00fbec1412075f9b319bb0db1f86460519dd9c61478949f2c00c35aeb8e53a1507616072cb802891e2c189a9fa65a0493de5d3b04a6d7b90c9c43c09ebe5250d583e1c3fc423219b26f6a02ec394a130000afdd8225f0001ae3e30df5a203ad10ee89a909df0c8ccea4836e94e0a5d34c3cdab758fcaee1460189600fdd8062400030e52657075626c6963616e5f77696e0c44656d6f637261745f77696e056f7468657210323032302d75732d656c656374696f6e"</span>,
<span class="hljs-string">"contractMaturity"</span>: 704409,
<span class="hljs-string">"contractTimeout"</span>: 705417,
<span class="hljs-string">"feeRate"</span>: 1,
<span class="hljs-string">"totalCollateral"</span>: 100000,
<span class="hljs-string">"localCollateral"</span>: 40000,
<span class="hljs-string">"remoteCollateral"</span>: 60000,
<span class="hljs-string">"fundingTxId"</span>: <span class="hljs-string">"0d74896958cee0b142a189211cac215f9f0455462290966d65ebf9fb1865de91"</span>
}
]
</code></pre>
<p>You can find things like the <code>fundingTxId</code>, <code>state</code>, <code>dlcId</code>, and <code>contractId</code> from this RPC call. Since we just
broadcast the funding transaction, the state of the DLC is <code>Broadcast</code>.</p>
<h3><a class="anchor" aria-hidden="true" id="settling-the-dlc"></a><a href="#settling-the-dlc" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Settling the DLC</h3>
<p>Once the oracle has broadcast their attestations, a user can close out the DLC.
In this case of this example, you can find the oracle
attestations <a href="https://test.oracle.suredbits.com/announcement/8863cd80e1d37f668e27b84cbfed48541d671b4fed1462b86d547e7f13b5a9e4">on the oracle explorer</a></p>
<pre><code class="hljs">fdd<span class="hljs-number">8688010323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>ed<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>a<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1447</span>a<span class="hljs-number">59</span>ba<span class="hljs-number">58797e55</span>b<span class="hljs-number">967</span>aa<span class="hljs-number">79</span><span class="hljs-keyword">c</span><span class="hljs-number">89</span>ffec<span class="hljs-number">67023578009</span><span class="hljs-keyword">c</span><span class="hljs-number">4</span>dc<span class="hljs-number">1e3</span>dee<span class="hljs-number">2</span>fd<span class="hljs-number">75277993590</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696</span>e
</code></pre>
<p>We will need the contract id to close the DLC. This can be found using the <code>getdlcs</code> RPC.
Our contract id is <code>a995aeca167f1c28c2b936e5bb4d87cba061dd9147217501c3523e377fd23439</code></p>
<pre><code class="hljs">./bitcoin-s-cli executedlc a<span class="hljs-number">995</span>aeca<span class="hljs-number">167</span>f<span class="hljs-number">1</span><span class="hljs-keyword">c</span><span class="hljs-number">28</span><span class="hljs-keyword">c</span><span class="hljs-number">2</span>b<span class="hljs-number">936e5</span>bb<span class="hljs-number">4</span>d<span class="hljs-number">87</span>cba<span class="hljs-number">061</span>dd<span class="hljs-number">9147217501</span><span class="hljs-keyword">c</span><span class="hljs-number">3523e377</span>fd<span class="hljs-number">23439</span> fdd<span class="hljs-number">8688010323032302</span>d<span class="hljs-number">75732</span>d<span class="hljs-number">656</span><span class="hljs-keyword">c</span><span class="hljs-number">656374696</span>f<span class="hljs-number">6</span>ed<span class="hljs-number">3</span>b<span class="hljs-number">04</span>a<span class="hljs-number">6</span>d<span class="hljs-number">7</span>b<span class="hljs-number">90</span><span class="hljs-keyword">c</span><span class="hljs-number">9</span><span class="hljs-keyword">c</span><span class="hljs-number">43</span><span class="hljs-keyword">c</span><span class="hljs-number">09</span>ebe<span class="hljs-number">5250</span>d<span class="hljs-number">583e1</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>fc<span class="hljs-number">423219</span>b<span class="hljs-number">26</span>f<span class="hljs-number">6</span>a<span class="hljs-number">02</span>ec<span class="hljs-number">394</span>a<span class="hljs-number">130000</span>a<span class="hljs-number">0001</span>ae<span class="hljs-number">3e30</span>df<span class="hljs-number">5</span>a<span class="hljs-number">203</span>ad<span class="hljs-number">10</span>ee<span class="hljs-number">89</span>a<span class="hljs-number">909</span>df<span class="hljs-number">0</span><span class="hljs-keyword">c</span><span class="hljs-number">8</span>ccea<span class="hljs-number">4836e94</span>e<span class="hljs-number">0</span>a<span class="hljs-number">5</span>d<span class="hljs-number">34</span><span class="hljs-keyword">c</span><span class="hljs-number">3</span>cdab<span class="hljs-number">758</span>fcaee<span class="hljs-number">1447</span>a<span class="hljs-number">59</span>ba<span class="hljs-number">58797e55</span>b<span class="hljs-number">967</span>aa<span class="hljs-number">79</span><span class="hljs-keyword">c</span><span class="hljs-number">89</span>ffec<span class="hljs-number">67023578009</span><span class="hljs-keyword">c</span><span class="hljs-number">4</span>dc<span class="hljs-number">1e3</span>dee<span class="hljs-number">2</span>fd<span class="hljs-number">75277993590</span><span class="hljs-keyword">c</span><span class="hljs-number">44656</span>d<span class="hljs-number">6</span>f<span class="hljs-number">637261745</span>f<span class="hljs-number">77696</span>e
<span class="hljs-number">3</span>cad<span class="hljs-number">29</span>be<span class="hljs-number">34216e279</span>d<span class="hljs-number">13</span>f<span class="hljs-number">19153</span>f<span class="hljs-number">296</span><span class="hljs-keyword">c</span><span class="hljs-number">4e3</span>f<span class="hljs-number">8240</span>d<span class="hljs-number">4</span>a<span class="hljs-number">1</span>aa<span class="hljs-number">04</span>eb<span class="hljs-number">96</span>a<span class="hljs-number">3</span><span class="hljs-keyword">c</span><span class="hljs-number">275478</span><span class="hljs-keyword">c</span><span class="hljs-number">4</span>d<span class="hljs-number">1</span>
</code></pre>
<p>The thing returned is the CET's txid.</p>
<p>You've now settled your DLC :tada: :tada:</p>
</span></div></article></div><div class="docLastUpdate"><em>Last updated on 4/25/2022 by Nadav Kohen</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/wallet/backups"><span class="arrow-prev"></span><span>Wallet Backups</span></a><a class="docs-next button" href="/docs/wallet/wallet-price-example"><span>Wallet Price Example</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#requirements-for-example">Requirements for example</a></li><li><a href="#us-2020-election">US 2020 election</a><ul class="toc-headings"><li><a href="#setting-up-the-election-bet">Setting up the election bet</a></li><li><a href="#building-funding-txdlcs-with-your-counterparty">Building funding tx/dlcs with your counterparty</a></li><li><a href="#settling-the-dlc">Settling the DLC</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/favicon.ico" alt="bitcoin-s" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/en/getting-started">Getting Started</a><a href="/docs/en/core/core-intro">Guides</a><a href="/api/org/bitcoins">API Reference</a></div><div><h5>Community</h5><a href="/en/users.html">User Showcase</a><a href="https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw" target="_blank" rel="noreferrer noopener">Slack</a><a href="https://gitter.im/bitcoin-s-core/">Gitter chat</a></div><div><h5>More</h5><a href="https://github.com/bitcoin-s/bitcoin-s">GitHub</a><a class="github-button" href="https://github.com/bitcoin-s/bitcoin-s" data-icon="octicon-star" data-count-href="/bitcoin-s/bitcoin-s-core/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2022 Suredbits &amp; the bitcoin-s developers</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
}
// keyCode for '/' (slash)
if (e.keyCode === 191) {
const search = document.getElementById('search_input_react');
search && search.focus();
}
});
</script><script>
var search = docsearch({
apiKey: '0a510688bf8448e19aeb380377d328d3',
indexName: 'bitcoin-s',
inputSelector: '#search_input_react'
});
</script></body></html>