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