j"1ChDHzdd1H4wSjgGMHyndZm6qxEDGjqpJLMn><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><span class="line">INFO Start processing</span><br><span class="line">INFO Files loaded in 239 ms</span><br><span class="line">INFO Generated: index.html</span><br><span class="line">INFO Generated: archives/index.html</span><br><span class="line">INFO Generated: fancybox/blank.gif</span><br><span class="line">INFO Generated: fancybox/jquery.fancybox.css</span><br><span class="line">INFO Generated: fancybox/fancybox_loading@2x.gif</span><br><span class="line">INFO Generated: fancybox/jquery.fancybox.js</span><br><span class="line">INFO Generated: fancybox/fancybox_loading.gif</span><br><span class="line">INFO Generated: fancybox/jquery.fancybox.pack.js</span><br><span class="line">INFO Generated: fancybox/helpers/fancybox_buttons.png</span><br><span class="line">INFO Generated: fancybox/fancybox_sprite.png</span><br><span class="line">INFO Generated: fancybox/fancybox_overlay.png</span><br><span class="line">INFO Generated: fancybox/fancybox_sprite@2x.png</span><br><span class="line">INFO Generated: css/style.css</span><br><span class="line">INFO Generated: archives/2019/index.html</span><br><span class="line">INFO Generated: fancybox/helpers/jquery.fancybox-buttons.css</span><br><span class="line">INFO Generated: fancybox/helpers/jquery.fancybox-buttons.js</span><br><span class="line">INFO Generated: fancybox/helpers/jquery.fancybox-thumbs.js</span><br><span class="line">INFO Generated: fancybox/helpers/jquery.fancybox-media.js</span><br><span class="line">INFO Generated: fancybox/helpers/jquery.fancybox-thumbs.css</span><br><span class="line">INFO Generated: js/script.js</span><br><span class="line">INFO Generated: css/fonts/FontAwesome.otf</span><br><span class="line">INFO Generated: css/fonts/fontawesome-webfont.woff</span><br><span class="line">INFO Generated: archives/2019/03/index.html</span><br><span class="line">INFO Generated: css/fonts/fontawesome-webfont.eot</span><br><span class="line">INFO Generated: css/fonts/fontawesome-webfont.ttf</span><br><span class="line">INFO Generated: css/fonts/fontawesome-webfont.svg</span><br><span class="line">INFO Generated: css/images/banner.jpg</span><br><span class="line">INFO Generated: 2019/03/20/hello-world/index.html</span><br><span class="line">INFO 28 files generated in 592 ms</span><br></pre></td></tr></table></figure>
<h4 id="Step-3-Metasite-Init"><a href="#Step-3-Metasite-Init" class="headerlink" title="Step 3: Metasite Init"></a>Step 3: Metasite Init</h4><p>Just press enter if you donât want to change something.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">metasite init</span><br></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">? Site's Public Directory: ./public</span><br><span class="line">? Site's ID: mysite</span><br><span class="line">? Site Owner's RSA Private Key, leave blank to generate one:</span><br></pre></td></tr></table></figure>
<p>From this step, we are to upload the blog website to blockchain.</p>
<p>Itâs not limited to hexo blog, any static website can be uploaded.</p>
<h4 id="Step-4-Upload-Website"><a href="#Step-4-Upload-Website" class="headerlink" title="Step 4: Upload Website"></a>Step 4: Upload Website</h4><p>You need to prepare some satoshis to upload thing to blockchain.</p>
<p>A bitcoin private key which have satoshis in is required.</p>
<p>First, build sitemap and upload files.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">metasite sitemap -k [Your Bitcoin Private Key]</span><br></pre></td></tr></table></figure>
<p>Or paste it when asked.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">metasite sitemap</span><br></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br></pre></td><td class="code"><pre><span class="line">? Please Specify Bitcoin Private Key: [hidden]</span><br><span class="line">[+]Indexing files in ./public</span><br><span class="line">[+]Searching existing files on blockchain</span><br><span class="line"> fancybox/fancybox_loading.gif Found on chain</span><br><span class="line"> fancybox/blank.gif Found on chain</span><br><span class="line"> fancybox/jquery.fancybox.css Found on chain</span><br><span class="line"> fancybox/helpers/jquery.fancybox-thumbs.js Found on chain</span><br><span class="line"> js/script.js Found on chain</span><br><span class="line"> fancybox/helpers/jquery.fancybox-media.js Found on chain</span><br><span class="line"> fancybox/fancybox_overlay.png Found on chain</span><br><span class="line"> fancybox/fancybox_sprite@2x.png Found on chain</span><br><span class="line"> fancybox/fancybox_sprite.png Found on chain</span><br><span class="line"> fancybox/helpers/fancybox_buttons.png Found on chain</span><br><span class="line"> fancybox/helpers/jquery.fancybox-buttons.css Found on chain</span><br><span class="line"> fancybox/helpers/jquery.fancybox-buttons.js Found on chain</span><br><span class="line"> fancybox/fancybox_loading@2x.gif Found on chain</span><br><span class="line"> fancybox/helpers/jquery.fancybox-thumbs.css Found on chain</span><br><span class="line"> fancybox/jquery.fancybox.pack.js Found on chain</span><br><span class="line"> css/style.css Found on chain</span><br><span class="line"> css/fonts/fontawesome-webfont.eot Found on chain</span><br><span class="line"> fancybox/jquery.fancybox.js Found on chain</span><br><span class="line"> css/fonts/fontawesome-webfont.woff Found on chain</span><br><span class="line"> css/fonts/FontAwesome.otf Found on chain</span><br><span class="line"> css/fonts/fontawesome-webfont.ttf Found on chain</span><br><span class="line"> css/fonts/fontawesome-webfont.svg Found on chain</span><br><span class="line"> css/images/banner.jpg Found on chain</span><br><span class="line">[+]Building upload transactions</span><br><span class="line">Skiping css/fonts/fontawesome-webfont.eot</span><br><span class="line">Skiping css/fonts/fontawesome-webfont.svg</span><br><span class="line">Skiping css/fonts/fontawesome-webfont.ttf</span><br><span class="line">Skiping css/fonts/fontawesome-webfont.woff</span><br><span class="line">Skiping css/fonts/FontAwesome.otf</span><br><span class="line">Skiping css/images/banner.jpg</span><br><span class="line">Skiping css/style.css</span><br><span class="line">Skiping fancybox/blank.gif</span><br><span class="line">Skiping fancybox/fancybox_loading.gif</span><br><span class="line">Skiping fancybox/fancybox_loading@2x.gif</span><br><span class="line">Skiping fancybox/fancybox_overlay.png</span><br><span class="line">Skiping fancybox/fancybox_sprite.png</span><br><span class="line">Skiping fancybox/fancybox_sprite@2x.png</span><br><span class="line">Skiping fancybox/helpers/fancybox_buttons.png</span><br><span class="line">Skiping fancybox/helpers/jquery.fancybox-buttons.css</span><br><span class="line">Skiping fancybox/helpers/jquery.fancybox-buttons.js</span><br><span class="line">Skiping fancybox/helpers/jquery.fancybox-media.js</span><br><span class="line">Skiping fancybox/helpers/jquery.fancybox-thumbs.css</span><br><span class="line">Skiping fancybox/helpers/jquery.fancybox-thumbs.js</span><br><span class="line">Skiping fancybox/jquery.fancybox.css</span><br><span class="line">Skiping fancybox/jquery.fancybox.js</span><br><span class="line">Skiping fancybox/jquery.fancybox.pack.js</span><br><span class="line">Skiping js/script.js</span><br><span class="line">[+]Saving Sitemap to sitemap.json</span><br><span class="line">[+]Broadcasting upload transactions</span><br><span class="line"> Broadcasting e6a1a4eb72fd092cc989c90ac095aabb95b815a82e2ff98954f0ada736925060</span><br><span class="line"> Broadcasting 395f566d17619af872928db0c90f0a466505a96a79ba6de58cc58f12a3caf1d5</span><br><span class="line"> Broadcasting 32bc8d7bd7ad783ed6cce9bc0560ae046caeef3046179f2db459f821f6505058</span><br><span class="line"> Broadcasting 9e954deca98d391cd9f165591d54696b9497819c22041c8c4f5ba51c1e0a133a</span><br><span class="line"> Broadcasting 69237de76d724e5c95488fde0c1f4a9c6198133c7b5789724a5069f3db58ee5a</span><br><span class="line"> 395f566d17619af872928db0c90f0a466505a96a79ba6de58cc58f12a3caf1d5 Broadcasted</span><br><span class="line"> 32bc8d7bd7ad783ed6cce9bc0560ae046caeef3046179f2db459f821f6505058 Broadcasted</span><br><span class="line"> 9e954deca98d391cd9f165591d54696b9497819c22041c8c4f5ba51c1e0a133a Broadcasted</span><br><span class="line"> 69237de76d724e5c95488fde0c1f4a9c6198133c7b5789724a5069f3db58ee5a Broadcasted</span><br><span class="line"> e6a1a4eb72fd092cc989c90ac095aabb95b815a82e2ff98954f0ada736925060 Broadcasted</span><br><span class="line"> All TX Broadcasted</span><br><span class="line">[+]Hammer Threw</span><br></pre></td></tr></table></figure>
<p>Then, upload the sitemap to blockchain.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">metasite publish</span><br></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">? Please Specify Bitcoin Private Key: [hidden]</span><br><span class="line">SiteID: mysite</span><br><span class="line">RSA Key File: ./.credentials/key.pem</span><br><span class="line">Prefix: 8e961560133776104f375b492aa491b9abb88cd6b75ab21b6c3bd6197d025805</span><br><span class="line">Broadcasting Sitemap TX</span><br><span class="line">Broadcasted, TXID: 8791f0ee038af2d09f7a38c06ce0578f520bee2cd9510314962afe6ae7fc8bdc</span><br><span class="line">Please wait for a confirmation...</span><br></pre></td></tr></table></figure>
<p>Finally, create and upload a entrance point on blockchain.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">metasite entrance</span><br></pre></td></tr></table></figure>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">? Please Specify Bitcoin Private Key: [hidden]</span><br><span class="line">Broadcasting Entrance TX</span><br><span class="line">Broadcasted, Entrance TXID: 62df93c24ef578dbf65103478c8ff0407e81c5211351ed6298df2eced7490951</span><br><span class="line">? Open in Browser? Yes</span><br></pre></td></tr></table></figure>
<p>The blog we built is here:</p>
<p><a href="https://bico.media/62df93c24ef578dbf65103478c8ff0407e81c5211351ed6298df2eced7490951" target="_blank" rel="noopener">https://bico.media/62df93c24ef578dbf65103478c8ff0407e81c5211351ed6298df2eced7490951</a></p>
<h3 id="Update-Your-Blog"><a href="#Update-Your-Blog" class="headerlink" title="Update Your Blog"></a>Update Your Blog</h3><p>You can update your blog content with hexo, and upload the update with metasite.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hexo generate</span><br><span class="line">metasite sitemap</span><br><span class="line">metasite publish</span><br></pre></td></tr></table></figure>
<h3 id="If-I-have-a-website-more-than-a-blogâ¦"><a href="#If-I-have-a-website-more-than-a-blogâ¦" class="headerlink" title="If I have a website more than a blogâ¦"></a>If I have a website more than a blogâ¦</h3><p>Just follow step 3-4.</p>
<p>The metasite tool just upload <code>./public</code> to blockchain and donât care what it is.</p>
</div>
<footer class="article-footer">
<a data-url="./2019/03/20/How-to-Build-an-On-chain-Blog/" data-id="cjyp709tu0004j8uf1pyf3kxh" class="article-share-link">Share</a>
</footer>
</div>
</article>
<article id="post-How-to-Upload-Big-Files" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="2019/03/19/How-to-Upload-Big-Files/" class="article-date">
<time datetime="2019-03-19T11:46:24.000Z" itemprop="datePublished">2019-03-19</time>
</a>
</div>
<div class="article-inner">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2019/03/19/How-to-Upload-Big-Files/">How to Upload Big Files</a>
</h1>
</header>
<div class="article-entry" itemprop="articleBody">
<h3 id="Background"><a href="#Background" class="headerlink" title="Background"></a>Background</h3><p>Sometimes we need to upload files much bigger than 100KB.</p>
<p>In this situation, we need to chunk it up to many chunks.</p>
<p>However, due to the 25 tx limit, if we upload them one by one, it will takes a lot of time.</p>
<p>A better upload method is recommended.</p>
<h3 id="Upload-Method"><a href="#Upload-Method" class="headerlink" title="Upload Method"></a>Upload Method</h3><p>Input:</p>
<ol>
<li>private key</li>
<li>files</li>
</ol>
<p>Logic:</p>
<ol>
<li><p>acquire utxos</p>
</li>
<li><p>read files as chunks</p>
</li>
<li><p>generate chunk key by privkey.childKey(chunkâs md5)</p>
</li>
<li><p>build a master tx from utxo, the tx has</p>
<p>inputs from utxos</p>
<p>outputs for each file chunk with adequate satoshis</p>
<p>change output</p>
</li>
<li><p>build chunk tx, which has only 1 data output.</p>
</li>
<li>broadcast them all</li>
</ol>
<p>If you reach the 25 tx limits, just wait for the confirmation of master tx, then all chunk tx will be accepted.</p>
<p>BTW, you can build and broadcast master tx by moneybutton actually.<br>Then, handle the chunk txs.</p>
<h3 id="Examples"><a href="#Examples" class="headerlink" title="Examples"></a>Examples</h3><p>Master transaction example:<br> <a href="https://bchsvexplorer.com/tx/3937d759f4a31e1b5eee2e7c192f289f39199ce9b7913bee712bbc9510a511ea" target="_blank" rel="noopener">https://bchsvexplorer.com/tx/3937d759f4a31e1b5eee2e7c192f289f39199ce9b7913bee712bbc9510a511ea</a><br>chunk transaction example(1 in 1 out):<br> <a href="https://bchsvexplorer.com/tx/73192bb6bf6dec79d359e49b9b41355ad83ffec3adbbaf27b71a0ac4668d31d4" target="_blank" rel="noopener">https://bchsvexplorer.com/tx/73192bb6bf6dec79d359e49b9b41355ad83ffec3adbbaf27b71a0ac4668d31d4</a></p>
<p>Some code example:</p>
<p> <a href="https://github.com/monkeylord/MetaSite-Hammer" target="_blank" rel="noopener">https://github.com/monkeylord/MetaSite-Hammer</a></p>
</div>
<footer class="article-footer">
<a data-url="./2019/03/19/How-to-Upload-Big-Files/" data-id="cjyp709tp0001j8uf3apk6il3" class="article-share-link">Share</a>
</footer>
</div>
</article>
<article id="post-Metanetåºç¨å¼å" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="2019/03/11/Metanetåºç¨å¼å/" class="article-date">
<time datetime="2019-03-11T08:05:42.000Z" itemprop="datePublished">2019-03-11</time>
</a>
</div>
<div class="article-inner">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2019/03/11/Metanetåºç¨å¼å/">Metanetåºç¨å¼å</a>
</h1>
</header>
<div class="article-entry" itemprop="articleBody">
<h3 id="课ç¨åå¤"><a href="#课ç¨åå¤" class="headerlink" title="课ç¨åå¤"></a>课ç¨åå¤</h3><ol>
<li>å¯ç¨çMoneyButtoné±å
</li>
<li>顺æçææ¬ç¼è¾å¨ï¼è®°äºæ¬ä¹å¯ä»¥ï¼</li>
</ol>
<h3 id="èæ¯ç¥è¯"><a href="#èæ¯ç¥è¯" class="headerlink" title="èæ¯ç¥è¯"></a>èæ¯ç¥è¯</h3><p>å¼å§çè§£Metanetåºç¨å¼ååï¼é¦å
äºè§£ä¸äºæ¯ç¹å¸çåºç¡ç¥è¯ï¼è¿æ ·å¯ä»¥ææçè§£çåºç¡ã</p>
<p>æå¹¿æ³ççè§£éï¼æ¯ç¹å¸ç½ç»åºäºå
±è¯è¿è¡ãé£ä¹ï¼å
±è¯æ¬èº«æ¯ä»ä¹å¢ï¼èåæåªäºç»æå¢ï¼</p>
<p>æ¶é´æéï¼è¿éä¸ä¸ä¸è§£éï¼ä»
å
³æ³¨å¯¹äºåºç¨å¼åå
¥é¨æ¯è¾éè¦çé¨åï¼ä»ä»¬æ¯<code>UTXO模å</code>ã <code>P2Pç½ç»</code> 以å<code>OP_RETURN</code></p>
<h4 id="UTXO模å"><a href="#UTXO模å" class="headerlink" title="UTXO模å"></a>UTXO模å</h4><p>伿å¨ç¥çæ¯æ¯ç¹å¸å
·æä¸ä¸ªä¸ª<code>å°å</code>ï¼ç¨æ·ææ¡<code>ç§é¥</code>ï¼éè¿<code>ç¾å</code>å»è±è´¹æ¯ç¹å¸ï¼ææ¶è¿ä¼äº§ç<code>æ¾é¶</code>ã</p>
<p>大é¨åæ¶åï¼æä»¬ä½¿ç¨ä½ä¸ºç°éçæ¯ç¹å¸æ¶æ¯ä¸éè¦ç¥éå
¶æä¹å·¥ä½çï¼è¿äºäºæ
ç±é±å
å¤çã</p>
<p>使¯ï¼é±å°åºæ¯å¦ä½è¡¨ç¤ºçå¢ï¼</p>
<p>æä»¬éè¦ç解交æï¼æè
说âäºå¡âï¼è¿æ¯æ¯ç¹å¸ç½ç»éç第ä¸å
¬æ°ï¼è¿åºåé¾é½æ¯ä»å±äºå®çãåºå龿¯æ¯ç¹å¸ç½ç»ä¸çä¸é¨åï¼ä½ä¸æ¯å
¨é¨ï¼æ´ä¸ªæ··åèµ·æ¥çæ¯ç¹å¸ç½ç»ï¼å°±å«åmetanetã</p>
<p>ä»ä¹æ¯äº¤æå¢ï¼</p>
<p>交æå°±æ¯ä¸ä¸ªè¾å
¥è¾åºçéåï¼è¾åºå°±æ¯è¿ç¬äº¤æåé ç<code>交æè¾åº</code>ï¼ä¹å°±æ¯é±å
éçå°çæ¯ç¹å¸ãè¾å
¥åæ¯å
¶ä»äº¤æç<code>交æè¾åº</code>ï¼æä»¬å¯ä»¥çå°è¾å
¥è¾åºä¹é´æ¯ä¸ä¸å¯¹åºçï¼ä¸å交æä¹é´éè¿è¾å
¥è¾åºèç³»å°äºä¸èµ·ï¼ææäºä¸å¼ æåæ ç¯å¾ãè¿ä¸ªå¾çæ«ç«¯ï¼æä¸äºæ²¡ææå<code>交æè¾å
¥</code>ç<code>交æè¾åº</code>ï¼æä»¬æå®ä»¬ç§°ä¹ä¸º<code>æªè±è´¹äº¤æè¾åº</code>ï¼ä¹å°±æ¯é±å
éçå°çæ¯ç¹å¸ä½é¢ã</p>
<p>å¦å¤è¿æä¸äºç¹æ®çè¾åºï¼æ¯å¦è¯´äº¤æå¤æ³¨ï¼ä¹å°±æ¯OP_RETURNï¼ä¹æ¯ä¸ç§è¾åºï¼ä¸è¿è¿ç§è¾åºçéé¢ä¸º0ï¼å·²ç»æ æ³ç»§ç»è¢«è±è´¹ï¼æä»¥å°±ä¸ç®æ¯æªè±è´¹äºï¼ä¸ç®å¨UTXOéï¼ä½æ¯ä¼è¢«è®°å½å¨åºåé¾ä¸ã</p>
<p>æè¿BSVç½ç»ç©åºäºè®¸å¤è±æ ·ï¼å¤§é¨åå°±æ¯åºäºçOP_RETURNï¼å¨æ¯ç¹å¸ç½ç»ä¸æ°¸ä¹
çä¸äºä¸å¯è¢«ç¯¡æ¹ç交æå¤æ³¨ä½ä¸ºæ°æ®ã</p>
<h4 id="P2Pèç¹ç½ç»"><a href="#P2Pèç¹ç½ç»" class="headerlink" title="P2Pèç¹ç½ç»"></a>P2Pèç¹ç½ç»</h4><h5 id="ä»ä¹æ¯P2Pèç¹ç½ç»ã"><a href="#ä»ä¹æ¯P2Pèç¹ç½ç»ã" class="headerlink" title="ä»ä¹æ¯P2Pèç¹ç½ç»ã"></a>ä»ä¹æ¯P2Pèç¹ç½ç»ã</h5><p>BTä¸è½½å¾å¤äººé½ç¨è¿ï¼çµé©´ä¹æå¾å¤äººç¨è¿ï¼è¿äºç½ç»å°±æ¯P2Pç½ç»ã</p>
<p>P2Pç½ç»æ¯ä¸ç§ç±è®¸å¤å¹³çå°ä½çèç¹ç»æçç½ç»ï¼æ¯ä¸ªèç¹ä¸è®ºå
¶æ¯ä½ç§ç±»åçï¼é½å¯ä»¥éè¿P2Påè®®æ¥å
¥å°è¿ä¸ªç½ç»ä¸ã</p>
<p>èç¹ä»¬å¨æ¯ç¹å¸åè®®ä¸å°ä½æ¯å¹³ççãä¸è¿éè¦æ³¨æè¿ç§å¹³ç并鿰䏻䏻ä¹ä¸æè°çâç»ææ£ä¹âçå¹³çï¼èæ¯å¨èªç±æå¿ä¸»ä¹æä¹ä¸ï¼äººäººé½è½å¤ååèªå·±çå®åè¿è¡å
åçç«äºçâæºä¼å¹³çâã</p>
<p>æçèç¹æ
é¿æç¿ï¼é£ä¹å®å°±å¯ä»¥æä¸ºä¸ä¸çç¿å·¥èç¹ï¼æçèç¹æ
é¿è®°å½ï¼é£ä¹å®å¯ä»¥æä¸ºåå¨èç¹ï¼æçèç¹ä¸æ³¨äºæé«ç½ç»è¿éæ§ï¼é£ä¹å®ä¼æä¸ºå¾å¤èç¹é´çä¸ç»§ï¼æçèç¹åç½ç»å¤æä¾æå¡ï¼é£ä¹å®å°±æ¯èç¹ç½ç»å¯¹å¤çæ¥å£èç¹ãçæ³ç¶æä¸ï¼æ¯ç¹å¸ç½ç»éè¿å
åçå¸åºç«äºï¼ä¼å½¢æä¸ä¸åå·¥ã</p>
<p>并䏿¯æ¯ä¸ªèç¹é½è¦å
·æåæ ·çç®åï¼åæ ·ç带宽ï¼åæ ·çåå¨è½åï¼é£æ¯æ èæ´¾å¹³å主ä¹ãæ èæ´¾å¹³å主ä¹ä¸è½æä¾èç¹ç«äºçç¯å¢ï¼èç¹ææ¯æ æ³èªåå°åååå±ï¼ä»èå®å
¨åå³äºå¼åè
çå好ãå°±æ¯è¿ç§ææ³å°±æ¯å¯¼è´äºBSVæåº103Måºåæ¶BTCå´è¿å¨1Mè¸èºä¸åçåå ã</p>
<h5 id="æ¯ç¹å¸èç¹ç½ç»çåè®®"><a href="#æ¯ç¹å¸èç¹ç½ç»çåè®®" class="headerlink" title="æ¯ç¹å¸èç¹ç½ç»çåè®®"></a>æ¯ç¹å¸èç¹ç½ç»çåè®®</h5><p>é£ä¹ä¸ä¸ªæ°çèç¹æ¯å¦ä½æ¥å
¥å°èç¹ç½ç»ï¼å¹¿ææ°æ®å¹¶æ¥æ¶å¹¿æçå¢ï¼</p>
<p>é¦å
ï¼ä½ éè¦ç¥éå
¶ä»èç¹å¨åªéï¼æè½è¿æ¥å°å
¶ä»èç¹ã</p>
<p>å æ¤æ¯ç¹å¸åè®®é设计äºä¸ä¸ªä¼ä¼´åç°æºå¶ï¼å³ï¼ä½ åä½ è¿æ¥çèç¹è¯·æ±è·å¾å®ç¥éçèç¹ãè¿æ ·éçä½ çè¿æ¥ï¼ä½ å°±è½å¾ç¥è¶³å¤çä¼ä¼´ã</p>
<p>ä¸è¿é®é¢æ¥äºï¼åå§çä¼ä¼´å¦ä½å»åç°å¢ï¼è¿å°±è¦é 代ç éå
ç½®çDNSèç¹ï¼å®æ¯æåçä¼ä¼´ã</p>
<p>ä¼ä¼´èç¹åç°-DNSç§å<a href="https://github.com/bitcoin-sv/bitcoin-sv/blob/master/src/seeder/main.cpp#L445" target="_blank" rel="noopener">https://github.com/bitcoin-sv/bitcoin-sv/blob/master/src/seeder/main.cpp#L445</a></p>
<p>å½ä½ è¿æ¥å°ä¼ä¼´èç¹åï¼ä½ 们就å¼å§ä¸ç³»åçæ°æ®äº¤æ¢äºï¼äº¤æãæ°æ®ï¼åç§åæ ·çæ¶æ¯å¨æ´ä¸ªç½ç»ä¸ä¼ æã</p>
<p>æ¯ç¹å¸èç¹P2Pç½ç»åè®®ï¼<a href="https://en.bitcoin.it/wiki/Protocol_documentation" target="_blank" rel="noopener">https://en.bitcoin.it/wiki/Protocol_documentation</a></p>
<h5 id="ææ¯ä¸å¦ä½çè§£æ¯ç¹å¸ç½ç»"><a href="#ææ¯ä¸å¦ä½çè§£æ¯ç¹å¸ç½ç»" class="headerlink" title="ææ¯ä¸å¦ä½çè§£æ¯ç¹å¸ç½ç»"></a>ææ¯ä¸å¦ä½çè§£æ¯ç¹å¸ç½ç»</h5><p>å¯ä»¥æ³¨æå°çæ¯ï¼æ°æ®å¨äº¤æ¢çæ¶åï¼ä»
ä»
æ¯æ°æ®æ¬èº«ï¼å¹¶ä¸å
嫿°æ®æ¥æºï¼å æ¤å°±å䏿»´æ°´æ»´å°å¤§æµ·éï¼è¿
éæ©æ£ï¼èæ æ³æº¯æºã彿°æ®è¿å
¥å°èç¹ç½ç»ä¸æ¶ï¼å®å°±å¯ä»¥è¢«è®¤ä¸ºæ¯å
Œ
±æ°æ®äºã</p>
<p>å æ¤ï¼æ¯ç¹å¸çèç¹ç½ç»æ¯ä¸ä¸ªå
Œ
±æ°æ®æ± ï¼å½ä½ åè¿ä¸ªæ°æ®æ± ä¸åéæ°æ®ï¼æ°æ®å°±åæå
Œ
±æ°æ®äºï¼ä»»ä½èç¹é½å¯ä»¥ååºï¼ä¸ä¸å¯æº¯æºãè¿ä¸ªæ°æ®æ± ï¼ä¹å¯ä»¥è®¤ä¸ºæ¯å
¨çèéç䏿¡æ°æ®æ»çº¿ãè¿æ¯Metanetåºç¨å¼åçä¸ä¸ªåºç¡ã</p>
<p>å¦å¤éè¦æ³¨æå°çäºæ
æ¯ï¼P2Pèç¹ç½ç»æ¯ç¨äºä¸ç»§äº¤æååºåçä¸ç§å½¢å¼ãä½è¿å¹¶ä¸æ¯æ¯ç¹å¸ç½ç»çå¯ä¸å½¢å¼ï¼å®é
ä¸ï¼ä»»ä½å¯¹äºäº¤æ(Transaction)çæ¿è½½ï¼é½æ¯æ¯ç¹å¸ç½ç»çä¸é¨åãæ¯ç¹å¸æ¯å
许两个个ä½ä¹é´ç´æ¥ç§ä¸è¿è¡ä¸ç³»åTX交æèåªææç»ç»æå¹¿æçï¼è¿è¢«ç§°ä¸ºP2P交æã</p>
<p>å®é
ä¸ä¸åçç½ç»ä¹é´ä¹å¯ä»¥ç§ä¸å¤ç交æï¼èææç»äº¤æå¹¿æï¼æä»¬ææå¼ºPoWä¿è¯çP2Pèç¹ç½ç»è®¤ä¸ºæ¯ä¸»ç½ï¼ä¸»ç½éçæ°æ®æ¯å
Œ
±ä¸ä¸å¯ç¯¡æ¹çã使¯ä»»ä½ç§ä¸çç½ç»é½æ¯ä¸è¢«ç¦æ¢çï¼ä»æ¯ç¹å¸è®¾è®¡ä¹åï¼ä¸åç½ç»çåç§°æ è¯å¨æ¯ç¹å¸åè®®ä¸å°±æä¸é¨çåæ®µï¼æå³çæ¯ç¹å¸ï¼å¯ä»¥ï¼æ¯ä¸ä¸ªå
·æå¤ä¸ªç½ç»çç³»ç»ã</p>
<p>TXæ¯ä¸çå
¬æ°ï¼å¯ä»¥åºå
¥ä»»ä½ç½ç»ãPoWåºåé¾ç½ç»åªæ¯ä½ä¸ºä¸»ç½ï¼ä½ä¸ºç±ç®åä¿è¯ççµæä½çç½ç»ï¼å¹¶ä½ä¸ºæç»TXæææ æç夿ãèç§ä¸çPoSæå
¶ä»ç龿è
å±åç½ç»ï¼é½å¯ä»¥æ ¹æ®éè¦æ¥å
¥å°ç³»ç»ä¹ä¸ï¼åªè¦ä½ éµå¾ªåæ ·çTXæ ¼å¼å¹¶å
±äº«åä¸å¥UTXOè´¦æ¬ï¼å¯è½ä¼å 为å主ç½å²çªèè¢«æ ææï¼ã</p>
<p>ä½ å¯ä»¥ä»»æåå»ºä½ å¸æçæ°ç½ç»ï¼æ¥ä»¥ä½ 叿ç形弿¥å¤çå±é¨çTX交æ¢ã注æè¿ä¸æ¯ååï¼å 为PoWä¸»ç½æ¯æç»ä»²è£ï¼åªè¦ä½ éµå®è¿ä¸ç¹ï¼ä½ å°±è¿å¨æ¯ç¹å¸çç³»ç»ä¹ä¸ã</p>
<p>çè§£è¿ä¸ç¹ï¼ä½ å°±çè§£äºæ¯ç¹å¸ç½ç»æ¯å¦ä½å¨æé
空é´ä¸è¢«ä½¿ç¨çï¼ä¸åçå±å空é´ä¸å¯ä»¥æ¥æèªå·±çç½ç»ã</p>
<p>å½ç¶ï¼çè³æ¯ç¹å¸ç<code>主ç½</code>乿¯ç«äºäº§ççï¼æªæ¥PoWç®åçç«äºå¯è½ä¼å¨å°çåç«æä¸¤ä¸ªç½ç»ä¹é´åçï¼ä¸è¿è¿å°±å¾è¿äºã</p>
<h4 id="OP-RETURN"><a href="#OP-RETURN" class="headerlink" title="OP_RETURN"></a>OP_RETURN</h4><p>OP_RETURNæ¯ä¸ç§ç¹æ®çè¾åºï¼å®æ¯ä¸ä¸ªä»
å
å«OP_RETURNåPUSHæä»¤çèæ¬ãæä»¬ç¨<>æ¥è¡¨ç¤ºpushæ°æ®ï¼é£ä¹OP_RETURNå°±æ¯</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">OP_RETURN <Field1> <Field2> ....</span><br></pre></td></tr></table></figure>
<p>å æ¤ï¼æä»¬å¯ä»¥å¾è½»æå°æä¸ä¸ªæ°æ®ç»æ</p>
<figure class="highlight"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">{</span><br><span class="line"> key1: value1,</span><br><span class="line"> key2: value2</span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<p>ååæ å°å°</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">OP_RETURN <value1> <value2></span><br></pre></td></tr></table></figure>
<p>è¿å®é
ä¸å°±æ¯BitDBæä½çäºæ
ä¹ä¸</p>
<p>æä»¥ï¼æ»ç»ä¸ä¸ï¼éè¿OP_RETURNåP2Pèç¹ç½ç»ï¼æä»¬å¾å°äºä¸ä¸ªå
¨ç忥çå
Œ
±æ°æ®åºï¼è¿ä¸ªå
Œ
±æ°æ®åºå¯ä»¥</p>
<blockquote>
<p>å¨ä»»ä½ä½ç½®è®¿é®ï¼èªå¸¦CDN</p>
<p>ä»»ä½äººé½å¯ä»¥ä»è´¹å任使°æ®</p>
<p>䏿¦åå
¥ä¸ç¨æ
å¿è¢«ç¯¡æ¹</p>
<p>å ä¹ä¸åå¨å®æºçå¯è½æ§</p>
<p>大约æ¯10åéå¤ä»½ä¸æ¬¡</p>
</blockquote>
<h3 id="Metanetåºç¨å¼å"><a href="#Metanetåºç¨å¼å" class="headerlink" title="Metanetåºç¨å¼å"></a>Metanetåºç¨å¼å</h3><p>å
¶å®çè§£äºä¸è¿°å
å®¹ï¼æäºäººå°±å¤§æ¦å·²ç»æç½åºäºMetanetå¯ä»¥ååªäºåºç¨äºã</p>
<p>æä»¬æ¥ç®åå®ä¹ä¸ä¸Metanetåºç¨ï¼è¿ä¸ªå®ä¹å¹¶ä¸åç¡®ï¼å 为æ¯ç¹å¸ä¸ä¸åé½å¯è½åçã</p>
<h4 id="ä»ä¹æ¯Metanetåºç¨ï¼"><a href="#ä»ä¹æ¯Metanetåºç¨ï¼" class="headerlink" title="ä»ä¹æ¯Metanetåºç¨ï¼"></a>ä»ä¹æ¯Metanetåºç¨ï¼</h4><p>Metanetåºç¨æ¯æ¥å
¥å°æ¯ç¹å¸ç³»ç»ä¸ï¼ä»¥Transactionè®°å½æ°æ®æé»è¾çåºç¨ã</p>
<p>å®å¯ä»¥æ¯ä¸ªHTMLåºç¨ï¼å¯ä»¥æ¯ä¸ªææºåºç¨ï¼å¯ä»¥æ¯ç©èç½è®¾å¤ä¸çåºç¨ï¼ä¹å¯ä»¥æ¯åºå龿¸¸æã</p>
<p>å®å¯è½æ¯æä¸å¿çï¼ä¹å¯è½æ¯å®å
¨æ æå¡å¨çã</p>
<h4 id="为ä»ä¹è¦åMetanetåºç¨ï¼"><a href="#为ä»ä¹è¦åMetanetåºç¨ï¼" class="headerlink" title="为ä»ä¹è¦åMetanetåºç¨ï¼"></a>为ä»ä¹è¦åMetanetåºç¨ï¼</h4><p>Metanetåºç¨åå°äºä¸é´ç¯èï¼æä¸å¡é«åº¦æ½è±¡ãä¸éè¦é¨ç½²CDNï¼å
¨çå¯ç¨ï¼ä¸åèç¹é´éæ¶ä¿æåæ¥ã</p>
<p>Metanetä¿è¯åºç¨é«åº¦å¯ç¨ï¼å³ä¾¿æå¡å¨ä¸çº¿ï¼ä¹å¯ä»¥å¾è½»æå°å¼å°é建ï¼Planariaï¼ã</p>
<p>Metanetåºç¨å¯ä»¥éç¨æ æå¡ç«¯çæ¶æï¼æ°æ®å®å
¨ç±ç¨æ·äº§çï¼ç±ç¨æ·ä½¿ç¨ï¼ç±ç¨æ·ç®¡çï¼è®¾è®¡å¥½åè®®åä¸å¡é»è¾ï¼å°±å¯ä»¥èªç»ç»å°è¿è¡ä¸å»ã</p>
<p>Metanetåºç¨å¯ä»¥ä»¥å¾ä½çææ¬ç»´æ¤ï¼çè³äºå
ç»´æ¤ã</p>
<p>Metanetåºç¨åçæ¯ææ¯ä»ï¼ä¿¡æ¯æäºè½¬æ¢æä»·å¼ã</p>
<p>è¿æä¾äºçæ³çå䏿¨¡å¼ï¼ä½¿ç¨å³ä»è´¹ï¼ä¸æ¦å¼å宿ï¼ç¸å½äºæåºäºä¸æ¡æ²³éï¼æç»èµé±ã</p>
<h4 id="ä»ä¹åºç¨éååæMetanetåºç¨ï¼"><a href="#ä»ä¹åºç¨éååæMetanetåºç¨ï¼" class="headerlink" title="ä»ä¹åºç¨éååæMetanetåºç¨ï¼"></a>ä»ä¹åºç¨éååæMetanetåºç¨ï¼</h4><p>信任类åºç¨</p>
<blockquote>
<p>çµåè¯æ®ã票æ®ãå¯å®¡è®¡çåå²è®°å½</p>
</blockquote>
<p>ä¿¡æ¯ç±»åºç¨</p>
<blockquote>
<p>å
容ååãæ°æ®åäº«ãæ°æ®äº§ç䏿¶è´¹</p>
</blockquote>
<p>æ¯ä»ç±»åºç¨</p>
<blockquote>
<p>æ°åå
容éå®ãææ¬¡ä»è´¹ãå
¨çæ¯ä»</p>
</blockquote>
<p>åå¸å¼åºç¨</p>
<blockquote>
<p>æ æå¡å¨åºç¨ãèªç»ç»å¹³å°</p>
</blockquote>
<p>å
¶ä»åç§åæ ·çåºç¨</p>
<h4 id="æä¹åMetanetåºç¨ï¼"><a href="#æä¹åMetanetåºç¨ï¼" class="headerlink" title="æä¹åMetanetåºç¨ï¼"></a>æä¹åMetanetåºç¨ï¼</h4><p>Metanetåºç¨è®¾è®¡å䏿¥ï¼</p>
<ol>
<li>è®¾è®¡æ°æ®ç»æååè®®</li>
<li>设计UI</li>
<li>å°æ°æ®åUI对æ¥èµ·æ¥</li>
</ol>
<p>æ¯ä¸æ¥é½å¯ä»¥å¾å¤æä¹å¯ä»¥å¾ç®åï¼åå³äºä½ åä»ä¹æ ·çåºç¨ï¼ä¸é¢æä»¬æ¥ä¸ä¸ªä¸ªå°å®éªã</p>
<p>é¦å
ï¼ç¬¬ä¸ä¸ªå®éªï¼å
³äºå
容ä¸é¾ï¼æHTML页é¢ä¸é¾ã</p>
<blockquote>
<p>æ°å»ºä¸ä¸ªHTML页é¢ï¼æè
ææµè§å¨ä¸ä¸ä¸ªé¡µé¢å¦å为htmlæä»¶</p>
<p>å¨b.bitdb.networkéæ©è¯¥htmlæä»¶ä¸ä¼ ï¼ä½¿ç¨moneybuttonæ¯ä»</p>
<p>å¨b.bitdb.network页é¢ä¸æ¹ä¼åºç°è¯¥æä»¶ï¼ç¹å»bico.mediaçè¿æ¥</p>
</blockquote>
<p>ç¶åï¼ç¬¬äºä¸ªå®éªï¼è¯»åé¾ä¸çæ°æ®ã</p>
<blockquote>
<p>è¿å
¥ <a href="https://bitgraph.network/explorer/ewogICJ2IjogMywKICAicSI6IHsKICAgICJmaW5kIjogeyJvdXQuaDEiOiI2ZDAyIn0sCiAgICAibGltaXQiOiAxMAogIH0KfQ==" target="_blank" rel="noopener">https://bitgraph.network/explorer/ewogICJ2IjogMywKICAicSI6IHsKICAgICJmaW5kIjogeyJvdXQuaDEiOiI2ZDAyIn0sCiAgICAibGltaXQiOiAxMAogIH0KfQ==</a></p>
<p>6d02æ¯åå¸memoçåè®®ï¼memoåè®®å¨è¿é<a href="https://memo.cash/protocol" target="_blank" rel="noopener">https://memo.cash/protocol</a></p>
<p>æ¥ä¸æ¥ï¼æ ¹æ®memo.cashçåè®®ï¼æ¥è¯¢memoçå
¶ä»å
容</p>
</blockquote>
<p>第ä¸ä¸ªå®éªï¼ä»HTML䏿¥è¯¢memoå
容ãä¸è½½è¯¥HTML页é¢ï¼è§çæ¥è¯¢ç»æï¼æå¼ç¼è¾å¨ï¼ç¼è¾queryå·æ°æ¥çææã</p>
<p>第å个å®éªï¼æ°æ®å¯¹è±¡çæ å°ãæå¼è¯¥HTML页é¢ï¼è§å¯æ¥è¯¢ç»æï¼ç¼è¾query以æ¥è¯¢å
¶ä»memoåè®®ã</p>
<p>第äºä¸ªå®éªï¼ä½¿ç¨BitSocket宿¶ç嬿°æ®ã</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://genesis.bitdb.network/socket/1FnauZ9aUH2Bex6JzdcV4eNX7oLSSEbxtN/ew0KICAidiI6IDMsDQogICJxIjogew0KICAgICJmaW5kIjogeyAib3V0LmIwIjogeyAib3AiOiAxMDYgfSwgIm91dC5oMSI6ICI2ZDAyIiB9LA0KICAgICJwcm9qZWN0IjogeyAib3V0LiQiOiAxIH0NCiAgfSwNCiAgInIiOiB7DQogICAgImYiOiAiWyAuW10gfCB7bXNnOiAub3V0WzBdLnMyfSBdIg0KICB9DQp9</span><br></pre></td></tr></table></figure>
<p>第å
个å®éªï¼ä½¿ç¨datapayåéæ°æ®ã</p>
<p>第ä¸ä¸ªå®éªï¼ä½¿ç¨MoneyButtonåéæ°æ®ã</p>
<h4 id="å·²ç»æäºåªäºMetanetåºç¨ååè®®"><a href="#å·²ç»æäºåªäºMetanetåºç¨ååè®®" class="headerlink" title="å·²ç»æäºåªäºMetanetåºç¨ååè®®"></a>å·²ç»æäºåªäºMetanetåºç¨ååè®®</h4><p><a href="https://github.com/monkeylord/awesome-bitcoin-sv" target="_blank" rel="noopener">https://github.com/monkeylord/awesome-bitcoin-sv</a></p>
<h4 id="æåï¼å«å¿äºå®å
¨æ§çèèã"><a href="#æåï¼å«å¿äºå®å
¨æ§çèèã" class="headerlink" title="æåï¼å«å¿äºå®å
¨æ§çèèã"></a>æåï¼å«å¿äºå®å
¨æ§çèèã</h4>
</div>
<footer class="article-footer">
<a data-url="./2019/03/11/Metanetåºç¨å¼å/" data-id="cjyp709tv0005j8ufr2ovr782" class="article-share-link">Share</a>
</footer>
</div>
</article>
<article id="post-The-Siteloader-is-Released" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="2019/03/04/The-Siteloader-is-Released/" class="article-date">
<time datetime="2019-03-04T05:21:55.000Z" itemprop="datePublished">2019-03-04</time>
</a>
</div>
<div class="article-inner">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2019/03/04/The-Siteloader-is-Released/">The Siteloader is Released.</a>
</h1>
</header>
<div class="article-entry" itemprop="articleBody">
<p>Now, Iâve released siteloader.</p>
<p>Itâs easy to use.</p>
<p>See <a href="https://github.com/monkeylord/MetaSite-Loader" target="_blank" rel="noopener">https://github.com/monkeylord/MetaSite-Loader</a></p>
<p>I donât quite sure how to name a website on metanet, maybe âmetasiteâ ï¼</p>
</div>
<footer class="article-footer">
<a data-url="./2019/03/04/The-Siteloader-is-Released/" data-id="cjyp709tx0008j8ufe88gulec" class="article-share-link">Share</a>
</footer>
</div>
</article>
<article id="post-The-First-Metanet-Blog" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="2019/03/01/The-First-Metanet-Blog/" class="article-date">
<time datetime="2019-03-01T05:13:19.000Z" itemprop="datePublished">2019-03-01</time>
</a>
</div>
<div class="article-inner">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="2019/03/01/The-First-Metanet-Blog/">The First Metanet Blog</a>
</h1>
</header>
<div class="article-entry" itemprop="articleBody">
<p>Welcome to my blog. This is the first blog site on metanet.</p>
<p>I am Monkeylord, a metanet developer.</p>
<h3 id="Can-I-build-a-blog-on-metanet-like-you"><a href="#Can-I-build-a-blog-on-metanet-like-you" class="headerlink" title="Can I build a blog on metanet like you?"></a>Can I build a blog on metanet like you?</h3><p>Yes.</p>
<p>Iâm packaging all the magic into a website publish tool.</p>
<p>The tool will be open-sourced soon.</p>
<p>You can watch me on <a href="https://github.com/monkeylord/MetaNet-Website" target="_blank" rel="noopener">github</a>.</p>
<p>Itâs logically a blog generated by hexo, what you need is a command to sync it on metanet.</p>
</div>
<footer class="article-footer">
<a data-url="./2019/03/01/The-First-Metanet-Blog/" data-id="cjyp709tw0007j8uftngyurp0" class="article-share-link">Share</a>
</footer>
</div>
</article>
</section>
<aside id="sidebar">
<div class="widget-wrap">
<h3 class="widget-title">Tags</h3>
<div class="widget">
<ul class="tag-list"><li class="tag-list-item"><a class="tag-list-link" href="tags/bsv/">bsv</a></li></ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Tag Cloud</h3>
<div class="widget tagcloud">
<a href="tags/bsv/" style="font-size: 10px;">bsv</a>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Archives</h3>
<div class="widget">
<ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="archives/2019/07/">July 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2019/04/">April 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="archives/2019/03/">March 2019</a></li></ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Recent Posts</h3>
<div class="widget">
<ul>
<li>
<a href="2019/07/30/Bitcom常è§å议解æ/">Bitcom常è§å议解æ</a>
</li>
<li>
<a href="2019/04/14/Connecting-to-P2P-Network/">Connecting to P2P Network</a>
</li>
<li>
<a href="2019/03/20/How-to-Build-an-On-chain-Blog/">How to Build an On-chain Blog</a>
</li>
<li>
<a href="2019/03/19/How-to-Upload-Big-Files/">How to Upload Big Files</a>
</li>
<li>
<a href="2019/03/11/Metanetåºç¨å¼å/">Metanetåºç¨å¼å</a>
</li>
</ul>
</div>
</div>
</aside>
</div>
<footer id="footer">
<div class="outer">
<div id="footer-info" class="inner">
© 2019 Monkeylord<br>
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
</div>
</div>
</footer>
</div>
<nav id="mobile-nav">
<a href="index.html" class="mobile-nav-link">Home</a>
<a href="archives/" class="mobile-nav-link">Archives</a>
</nav>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<link rel="stylesheet" href="fancybox/jquery.fancybox.css">
<script src="fancybox/jquery.fancybox.pack.js"></script>
<script src="js/script.js"></script>
</div>
</body>
</html>
https://whatsonchain.com/tx/b79df79b57b2a0c28edfa8f9cc96560446eaa41e7705f876fc55ba76731b7188