include build files for embedding

This commit is contained in:
Corey 2019-05-19 13:47:54 -04:00
parent 6c200e82ed
commit 211512807a
10 changed files with 588 additions and 20 deletions

4
.gitignore vendored
View File

@ -20,10 +20,6 @@ yarn-debug.log*
yarn-error.log*
yarn.lock*
package-lock.json
/build/bundle.js
/build/index.html
/build*
/build/*
# Editor/IDE
.idea
packages/api/etc/

0
build/css/main.css Normal file
View File

234
build/index.html Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
!function(e){function r(r){for(var n,f,i=r[0],l=r[1],a=r[2],c=0,s=[];c<i.length;c++)f=i[c],o[f]&&s.push(o[f][0]),o[f]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var l=t[i];0!==o[l]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="";var i=window.webpackJsonp=window.webpackJsonp||[],l=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=l;t()}([]);
//# sourceMappingURL=runtime~main.e6dd4b6bdd4350738cf1.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -71,6 +71,103 @@ class App extends Component {
render() {
return (
<div className="App">
<h2>Introduction</h2>
<p>
The Status Network has a utility token, the Status Network Token
(SNT). What does that even mean? What utilities does it have and how
do their uses affect the rest of the ecosystem? Does it have an impact
on valuation? What even is valuation of a utility token?
</p>
<p>
These questions are hard, and there does not seem to be sufficient
academic answers to them, for very good reasons. The technology
enabling a utility token is new, and transcendent of many older
technologies. This consequently means the models used to evaluate the
older technologies will never be able to completely describe the newer
ones. We, as a community, need to build new ones and evaluate them
rigorously.
</p>
<p>
There is currently quite a bit of work being done in this field, but
it is mostly for investment firms to make appropriate calls on buying,
selling, and holding various projects tokens. While this is
drastically important for growth and project funding, we at Status
feel that there are other, less financially motivated reasons to do
this work which require a different approach. More specifically, any
utility token needs to be able to objectively evaluate various
features and utilities of their platform, and how they affect the
entirety of their ecosystem. For instance, we need to be able to ask
questions like the following: How can we objectively measure the use
of SNT if it gets used in feature X as a function of our user base?
Based on that measurement, is its development cost justified, or
should we focus on something else?
</p>
<p>
We will be launching Status with the following SNT use-cases, as
described in the{' '}
<a href="https://status.im/whitepaper.pdf">whitepaper</a>:
<ul>
<li>Teller Network</li>
<li>Tribute to Talk</li>
<li>ENS Usernames</li>
<li>Sticker Market</li>
<li>SNT Curated Dapp Store</li>
<li>Network Incentivization (may not be available at launch)</li>
</ul>
</p>
<p>
Each of these use-cases are run by the SNT token, but in very
different ways. This means each will have differing effects on the
supply and demand of the token itself. It doesnt stop there, as
Status is an open and permissionless platform for developers to build
on and use, which means that anyone can build SNT use-cases that
affect the overall supply and demand. But how do we know what effect a
utility has? Where do we go to try and evaluate its usefulness?
</p>
<p>
To this end, we would like to start a blog series detailing some of
the research we are doing within Status to objectively evaluate the
flow of SNT, the potential effects of our implemented (and upcoming)
SNT use cases within Status, and how our potential user growth changes
things. This work will encompass traditional economic and portfolio
theory, work currently being done in crypto-economics, and novel
methodology. That means a part of this endeavor is an attempt to get
peer review and evaluation of what we do by you, the community!
</p>
<p>
Lets start with the ENS naming system. In Status, for a little SNT,
you can register your username on the Ethereum Name System (ENS) so
others can find you easily. In order for us to apply models or
understand the economics of a use case, we first have to understand
what it is, how it works, and how it fits within the Status ecosystem.
Lets start by breaking down how ENS usernames work within Status:
<ol>
<li>User selects a unique username, {`<username>`}</li>
<li>User deposits 10 SNT into the ENS username dapp</li>
<li>
User is granted sole control over the subdomain {`<username>`}
.stateofus.eth for 1 year
</li>
<li>
User is able to get deposited funds after this yearly period, and
release the username back into available names.
</li>
<li>
User is now searchable within Status as {`<username>`} or
{`<username>`}.stateofus.eth outside of the Status app.
</li>
</ol>
</p>
<p>
The use case and token flow are both relatively simple, but what are
the effects on the ecosystem? Lets first try and model what value
this could potentially accrue over time. We can start by picking out
the variables in this process to see how things depend on each other.
Furthermore, the above values are what we currently use, but in terms
of modeling, we should turn those into variables that allow us to see
what effect each has on the overall mechanism. This can help inform us
(and you) on appropriate choices.
</p>
<h2>Disucssion of variables</h2>
<h3>Number of Users</h3>
<p>
@ -103,37 +200,55 @@ class App extends Component {
<p>
Now not all users will keep their usernames. Some people will remove
their deposit after the year and bring their SNT back into
circulation. Some people will leave Status altogether and [DESCRIBE
WHAT HAPPENS TO THIS SNT]. Well model this with another conversion
factor, which represents the number of people who renew their username
every year. Go ahead and change these variables and see how the
following graph changes
circulation. Some people will leave Status altogether. If they never
manually release their SNT from the ENS username contract, it can be
considered locked forever. For this, we will continue to consider them
users because from the contract&apos;s perspective, they are
indestiguishable. Well model the people who release their username
with another conversion factor. Go ahead and change these variables
and see how the following graph changes.
</p>
<div ref={this.userConversionRef} />
<div ref={this.removalRateRef} />
<div ref={this.ensUserbarRef} />
<h3>Amount of SNT to deposit and renewal time</h3>
<h3>Amount of SNT required to deposit</h3>
<p>
Now we have the amount of users that have (or will) used this utility.
Lets figure out how that translates to SNT. In order to do that, we
have two more variables to define: The amount of SNT required to
register an ENS username, and the time this money is locked up. By
multiplying each user by these two variables, we can show how much SNT
is being locked up every year which effectively takes it out of the
circulating supply, i.e.
Now we have the amount of users that will (or have) use(d) this
utility. Lets figure out how that translates to SNT. In order to do
that, we have another variable to define: The amount of SNT required
to register an ENS username. By multiplying each user by this
variable, we can show how much SNT is being locked up every year which
effectively takes it out of the circulating supply, i.e.
</p>
<h3>
<p>
<Latex displayMode>
{
'$$N_{\\text{SNT locked}} = N_{\\text{registrations}} * N_{\\text{amount per snt reg}}$$'
'$$N_{\\text{SNT locked}} = N_{\\text{registrations}} * N_{\\text{SNT per registration}}$$'
}
</Latex>
</h3>
</p>
<div ref={this.amountDepositSntRef} />
<div ref={this.lockedSntBarRef} />
<h3>How to assign value to all of this?</h3>
<p>
Having the amount of SNT locked up is quite useful by itself. From there,
we can look at the circulating supply and see how this use-case reflects that
</p>
<div ref={this.sntPriceRef} />
<div ref={this.lockedUsdBarRef} />
<h2>Thoughts and Conclusions</h2>
<p>
So what have we learned from all of this? How can we change the model
to better fit reality? Are their any actionable conclusions around ENS
usernames that come from this information?
</p>
<h3>Future Improvements</h3>
<ul>
<li>discounted value rate</li>
<li>probability of failure</li>
<li>justifications using historical data</li>
<li>assign variables and create eqations for each</li>
</ul>
</div>
);
}