/ archives / 2019 / 03 / index.html
index.html
  1  <!DOCTYPE html>
  2  <html lang="en" dir="ltr">
  3    <head prefix="og: http://ogp.me/ns#">
  4    <meta charset="utf-8">
  5    <title>Embark</title>
  6    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  7    <meta name="viewport" content="width=device-width, initial-scale=1">
  8    <!-- Canonical links -->
  9    <link rel="canonical" href="https://framework.embarklabs.io/archives/2019/03/index.html">
 10    <!-- Alternative links -->
 11    
 12  
 13    <!-- Icon -->
 14    <meta name="msapplication-TileColor" content="#080E1A">
 15    <link rel="icon" type="image/png" href="/assets/images/favicon-16.png" sizes="16x16" />
 16    <link rel="icon" type="image/png" href="/assets/images/favicon-32.png" sizes="32x32" />
 17  
 18    <link rel="apple-touch-icon" sizes="76x76" href="/assets/images/apple-touch-icon-60x60-precomposed.png">
 19    <link rel="apple-touch-icon" sizes="76x76" href="/assets/images/apple-touch-icon-76x76-precomposed.png">
 20    <link rel="apple-touch-icon" sizes="120x120" href="/assets/images/apple-touch-icon-120x120-precomposed.png">
 21    <link rel="apple-touch-icon" sizes="152x152" href="/assets/images/apple-touch-icon-152x152-precomposed.png">
 22    <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/apple-touch-icon-precomposed.png">
 23    <link rel="apple-touch-icon" href="/assets/images/apple-touch-icon-precomposed.png">
 24    <!-- CSS -->
 25    
 26  <link rel="stylesheet" href="/css/embark.css">
 27  
 28    <!-- endbuild -->
 29  
 30    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
 31    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
 32  
 33    <!-- RSS -->
 34    <link rel="alternate" href="/atom.xml" title="Embark">
 35    <meta property="og:image" content="/img/share.png?v=0.0.5" />
 36    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.4/styles/dracula.min.css">
 37  
 38    <script async defer src="https://buttons.github.io/buttons.js"></script>
 39  
 40  
 41  <script>
 42    !function(root, factory) {
 43      "function" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set
 44      define([], function() {
 45          return root.svg4everybody = factory();
 46      }) : "object" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but
 47      // only CommonJS-like environments that support module.exports,
 48      // like Node.
 49      module.exports = factory() : root.svg4everybody = factory();
 50  }(this, function() {
 51      /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */
 52      function embed(parent, svg, target) {
 53          // if the target exists
 54          if (target) {
 55              // create a document fragment to hold the contents of the target
 56              var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute("viewBox") && target.getAttribute("viewBox");
 57              // conditionally set the viewBox on the svg
 58              viewBox && svg.setAttribute("viewBox", viewBox);
 59              // copy the contents of the clone into the fragment
 60              for (// clone the target
 61              var clone = target.cloneNode(!0); clone.childNodes.length; ) {
 62                  fragment.appendChild(clone.firstChild);
 63              }
 64              // append the fragment into the svg
 65              parent.appendChild(fragment);
 66          }
 67      }
 68      function loadreadystatechange(xhr) {
 69          // listen to changes in the request
 70          xhr.onreadystatechange = function() {
 71              // if the request is ready
 72              if (4 === xhr.readyState) {
 73                  // get the cached html document
 74                  var cachedDocument = xhr._cachedDocument;
 75                  // ensure the cached html document based on the xhr response
 76                  cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(""),
 77                  cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item
 78                  xhr._embeds.splice(0).map(function(item) {
 79                      // get the cached target
 80                      var target = xhr._cachedTarget[item.id];
 81                      // ensure the cached target
 82                      target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)),
 83                      // embed the target into the svg
 84                      embed(item.parent, item.svg, target);
 85                  });
 86              }
 87          }, // test the ready state change immediately
 88          xhr.onreadystatechange();
 89      }
 90      function svg4everybody(rawopts) {
 91          function oninterval() {
 92              // while the index exists in the live <use> collection
 93              for (// get the cached <use> index
 94              var index = 0; index < uses.length; ) {
 95                  // get the current <use>
 96                  var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute("xlink:href") || use.getAttribute("href");
 97                  if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)),
 98                  svg && src) {
 99                      if (polyfill) {
100                          if (!opts.validate || opts.validate(src, svg, use)) {
101                              // remove the <use> element
102                              parent.removeChild(use);
103                              // parse the src and get the url and id
104                              var srcSplit = src.split("#"), url = srcSplit.shift(), id = srcSplit.join("#");
105                              // if the link is external
106                              if (url.length) {
107                                  // get the cached xhr request
108                                  var xhr = requests[url];
109                                  // ensure the xhr request exists
110                                  xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open("GET", url), xhr.send(),
111                                  xhr._embeds = []), // add the svg and id as an item to the xhr embeds list
112                                  xhr._embeds.push({
113                                      parent: parent,
114                                      svg: svg,
115                                      id: id
116                                  }), // prepare the xhr ready state change event
117                                  loadreadystatechange(xhr);
118                              } else {
119                                  // embed the local id into the svg
120                                  embed(parent, svg, document.getElementById(id));
121                              }
122                          } else {
123                              // increase the index when the previous value was not "valid"
124                              ++index, ++numberOfSvgUseElementsToBypass;
125                          }
126                      }
127                  } else {
128                      // increase the index when the previous value was not "valid"
129                      ++index;
130                  }
131              }
132              // continue the interval
133              (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);
134          }
135          var polyfill, opts = Object(rawopts), newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/, webkitUA = /\bAppleWebKit\/(\d+)\b/, olderEdgeUA = /\bEdge\/12\.(\d+)\b/, edgeUA = /\bEdge\/.(\d+)\b/, inIframe = window.top !== window.self;
136          polyfill = "polyfill" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;
137          // create xhr requests object
138          var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName("use"), numberOfSvgUseElementsToBypass = 0;
139          // conditionally start the interval if the polyfill is active
140          polyfill && oninterval();
141      }
142      function getSVGAncestor(node) {
143          for (var svg = node; "svg" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}
144          return svg;
145      }
146      return svg4everybody;
147  });
148  
149  svg4everybody();
150  </script>
151  </head>
152  
153    <body>
154      
155    <header role="banner" class="c-header c-header--compact">
156    <span class="c-header__background"></span>
157    <div class="o-container c-header__content">
158      <div class="c-header__top">
159        <a href="/" title="Embark" class="c-logo c-logo--negative">Embark</a>
160        <nav role="navigation" class="c-navigation">
161          <div class="c-navigation__header">
162            <a href="/" title="Embark" class="c-logo">Embark</a>
163            <button class="c-navigation__close u-text-light" title="Close menu">
164              <svg class="c-icon c-icon--xs"><use xlink:href="/../assets/icons/symbols.svg#icon-close"></use></svg>
165            </button>
166          </div>
167          <div class="c-navigation__body">
168            <ul class="c-navigation__list">
169              <li class="c-navigation__item">
170                <a href="/docs/quick_start.html" class="c-navigation__anchor " title="Quick Start">Quick Start</a>
171              </li>
172              <li class="c-navigation__item">
173                <a href="/docs" class="c-navigation__anchor " title="Learn">Learn</a>
174              </li>
175              <li class="c-navigation__item">
176                <a href="/plugins" class="c-navigation__anchor " title="Plugins">Plugins</a>
177              </li>
178              <li class="c-navigation__item">
179                <a href="/community" class="c-navigation__anchor " title="Community">Community</a>
180              </li>
181              <li class="c-navigation__item">
182                <a href="https://blog.embarklabs.io" target="_blank" rel="noopener" class="c-navigation__anchor " title="Blog">Blog</a>
183              </li>
184            </ul>
185          </div>
186        </nav>
187        <div class="o-flex o-flex-center">
188          <form action="" class="o-flex__item u-hidden-until-large">
189            <input type="search" placeholder="Search" id="search-input">
190          </form>
191          <div class="o-flex__item">
192            <ul class="o-flex o-flex-center">
193              <li class="o-flex__item">
194                <a href="https://github.com/embarklabs/embark" title="Github" target="_blank" class="u-link-ghost">
195                  <svg class="c-icon"><use xlink:href="/../assets/icons/symbols.svg#icon-github"></use></svg>
196                </a>
197              </li>
198              <li class="o-flex__item">
199                <a href="https://twitter.com/EmbarkProject" title="Twitter" target="_blank">
200                  <svg class="c-icon"><use xlink:href="/../assets/icons/symbols.svg#icon-twitter"></use></svg>
201                </a>
202              </li>
203              <li class="o-flex__item u-hidden-large-up">
204                <button type="button"class="c-navigation__trigger u-link-ghost" title="Open menu">
205                  <svg class="c-icon"><use xlink:href="/../assets/icons/symbols.svg#icon-navigation-menu"></use></svg>
206                </button>
207              </li>
208            </ul>
209          </div>
210        </div>
211      </div>
212      <div class="c-quick-search o-distance-m u-hidden-large-up">
213        <input type="search" id="inp-search" placeholder="Search">
214      </div>
215      <div class="c-header__body">
216        <h1 class="c-title u-text-ghost">All posts</h1>
217  
218        
219        <p class="c-subtitle o-distance-s">&nbsp;</p>
220        
221  
222        
223        <div class="o-buttonbar">
224          
225            <a href="/news" class="c-button o-buttonbar__item" title="Back to blog">Back to blog</a>
226          
227          
228          
229        </div>
230        
231        
232      </div>
233    </div>
234  </header>
235  
236  
237  
238  <main role="main">
239    <section class="o-container-medium o-distance">
240      
241        <div class="c-box c-box--whisper  o-distance-m ">
242    
243    <h3 class="c-title-level-3">
244      
245        <a href="/news/2019/03/19/introducing-embark-4/" title="Read more" class="u-link-uniform">Introducing Embark 4.0 - Cockpit, Debugger and more</a>
246      
247    </h3>
248    
249      <p class="c-meta u-text-light">19th March 2019</p>
250    
251    <p class="c-box__subtitle u-text-light">Embark 4.0 is finally here! Check out what the greatest release yet has to offer!</p>
252    
253    <p class="c-box__footer">
254      <a href="/news/2019/03/19/introducing-embark-4/" title="Read more" class="c-link">Read more</a>
255    </p>
256    
257  </div>
258  
259  
260      
261        <div class="c-box c-box--whisper  o-distance-m ">
262    
263    <h3 class="c-title-level-3">
264      
265        <a href="/news/2019/03/18/upgrading-to-embark-4/" title="Read more" class="u-link-uniform">How to upgrade to Embark 4</a>
266      
267    </h3>
268    
269      <p class="c-meta u-text-light">18th March 2019</p>
270    
271    <p class="c-box__subtitle u-text-light">In this guide, we'll learn how to upgrade a Dapp created with Embark 3.x to Embark 4</p>
272    
273    <p class="c-box__footer">
274      <a href="/news/2019/03/18/upgrading-to-embark-4/" title="Read more" class="c-link">Read more</a>
275    </p>
276    
277  </div>
278  
279  
280      
281    </section>
282    <div class="o-container o-distance o-center">
283      <a href="https://blog.embarklabs.io" target="_blank" rel="noopener" class="c-button" title="Back to blog">Back to blog</a>
284    </div>
285  </main>
286  
287  
288      <footer role="contentinfo" class="c-footer o-distance-xxl">
289    <div class="o-container">
290      <div class="c-footer__top">
291        <p class="c-category-title c-footer__top__title u-text-light">
292          <a href="/" class="c-logo c-logo--negative" title="Embark">Embark</a>
293        </p>
294      </div>
295      <div class="c-footer__body">
296        <div class="o-grid">
297          <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-5">
298            <p class="c-category-title u-text-light">Resources</p>
299            <ul class="o-list-bare">
300              <li class="o-list-bare__item">
301                <a href="/docs/quick_start.html" class="u-link-ghost" title="Quick Start">Quick Start</a>
302              </li>
303              <li class="o-list-bare__item">
304                <a href="/docs" class="u-link-ghost" title="Documentation">Documentation</a>
305              </li>
306              <li class="o-list-bare__item">
307                <a href="https://blog.embarklabs.io" target="_blank" rel="noopener" class="u-link-ghost" title="Blog">Blog</a>
308              </li>
309              <li class="o-list-bare__item">
310                <a href="/docs/faq.html" class="u-link-ghost" title="FAQ">FAQ</a>
311              </li>
312              <li class="o-list-bare__item">
313                <a href="/docs/troubleshooting.html" class="u-link-ghost" title="Troubleshooting">Troubleshooting</a>
314              </li>
315            </ul>
316          </div>
317          <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-5">
318            <p class="c-category-title u-text-light">Help</p>
319            <ul class="o-list-bare">
320              <li class="o-list-bare__item">
321                <a href="https://stackoverflow.com/questions/tagged/embark" target="_blank" rel="noopener" class="u-link-ghost" title="Embark Questions">Stack Overflow</a>
322              </li>
323              <li class="o-list-bare__item">
324                <a href="https://gitter.im/embark-framework/Lobby" target="_blank" rel="noopener" class="u-link-ghost" title="Gitter">Gitter</a>
325              </li>
326              <li class="o-list-bare__item">
327                <a href="https://github.com/embarklabs/embark/issues" target="_blank" rel="noopener" class="u-link-ghost" title="Report issues">Report issues</a>
328              </li>
329              <li class="o-list-bare__item">
330                <a href="https://github.com/embarklabs/embark/blob/master/CODE_OF_CONDUCT.md" target="_blank" rel="noopener" class="u-link-ghost" title="Code of Conduct">Code of Conduct</a>
331              </li>
332            </ul>
333          </div>
334          <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-5">
335            <p class="c-category-title u-text-light">Community</p>
336            <ul class="o-list-bare">
337              <li class="o-list-bare__item">
338                <a href="https://github.com/embarklabs" target="_blank" rel="noopener" class="u-link-ghost" title="Github">Github</a>
339              </li>
340              <li class="o-list-bare__item">
341                <a href="https://twitter.com/EmbarkProject" target="_blank" rel="noopener" class="u-link-ghost" title="Twitter">Twitter</a>
342              </li>
343              <li class="o-list-bare__item">
344                <a href="/docs/contributing.html" class="u-link-ghost" title="Contribute">Contribute</a>
345              </li>
346              <li class="o-list-bare__item">
347                <a href="/community/#team" class="u-link-ghost" title="Team">Team</a>
348              </li>
349            </ul>
350          </div>
351  
352          <div class="o-grid__column--1-1 o-grid__column--medium-1-2 o-grid__column--large-1-4">
353            <p class="c-category-title u-text-light">The Status Network</p>
354            <ul class="o-list-bare two-columns">
355              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://status.im/" target="_blank">Status</a></li>
356              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://keycard.tech/" target="_blank">Keycard</a></li>
357              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://dap.ps/" target="_blank">dap.ps</a></li>
358              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://teller.exchange/" target="_blank">Teller</a></li>
359              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://assemble.fund/" target="_blank">Assemble</a></li>
360              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://subspace.embarklabs.io/" target="_blank">Subspace</a></li>
361              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://vac.dev/" target="_blank">Vac</a></li>
362              <li class="o-list-bare__item"><a class="u-link-ghost" href="https://nimbus.team/" target="_blank">Nimbus</a></li>
363            </ul>
364          </div>
365        </div>
366      </div>
367      <div class="c-footer__bottom">
368        <p class="u-text-light">
369          <a href="https://status.im/privacy-policy.html" title="Privacy Policy" target="_blank" class="u-text-light">Privacy Policy</a>
370          / © 2019-2020 Embark
371        </p>
372      </div>
373    </div>
374  </footer>
375  
376  
377  
378  
379      <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.4/highlight.min.js"></script>
380      <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
381      <script>
382        const EMBARK_DOC_VERSIONS = {
383          'latest': 'https://framework.embarklabs.io/docs','3.2': 'https://5ca4e0fdb29712000adde37f--embark-site-versions.netlify.com/docs/'
384        };
385      </script>
386  
387      
388      <!-- Fathom - simple website analytics - https://github.com/usefathom/fathom -->
389      <script>
390      (function(f, a, t, h, o, m){
391          a[h]=a[h]||function(){(a[h].q=a[h].q||[]).push(arguments)};
392          o=f.createElement('script'),
393          m=f.getElementsByTagName('script')[0];
394          o.async=1; o.src=t; o.id='fathom-script';
395          m.parentNode.insertBefore(o,m)
396      })(document, window, '//fathom.status.im/tracker.js', 'fathom');
397      fathom('set', 'siteId', 'YDUQQ');
398      fathom('trackPageview');
399      </script>
400      <!-- / Fathom -->
401      
402  
403      <script src="/js/index.js"></script>
404  
405      
406      <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
407      <script type="text/javascript">
408        docsearch({
409          apiKey: '439d8dc2add18007a2f31be4a9c0ed70',
410          indexName: 'embark',
411          inputSelector: '#search-input'
412        });
413      </script>
414      
415    </body>
416  </html>
417