create account

Implementing a Hypothetical Currency Application on EOS by eosio

View this thread on: hive.blogpeakd.comecency.com
· @eosio ·
Implementing a Hypothetical Currency Application on EOS
<div class="pull-right">

![](https://steemitimages.com/DQmTZbi9ou5pDzcczgE2oqzg5N22p7oizajpNPGfQ1JPfgJ/image.png)
</div>

Today we are excited to share with you the first sneak peak of how EOS works and how developers  build applications. 

## High Level Introduction 

EOS is structured like a group of people and/or scripts (bots) that are exchanging messages between them. It could be thought of as an email system where every user or bot has an account.

Like email, messages have a sender, receiver, and potentially a couple of accounts that  are copied on the message.  Also like email, messages are not guaranteed to be delivered just because they were sent. Delivering a message implies that the receiver accepted the message and processed it according to the receivers code.

Unlike e-mail, the recipient and any accounts copied on the message have the ability to reject the message in which case the message will not be delivered to them.

The EOS blockchain is a transparent and permanent log of all messages that were successfully delivered to all addressed accounts, but may also include outgoing messages generated by a bot.

## Publish Code not Binary 

When we describe "bots" we are referring to self-executing source code published on the blockchain. An account (aka application or smart contract) is a set of message handlers that can read/store state and/or generate new messages that are dispatched asynchronously to other accounts.  Messages can be processed by different accounts in parallel because every account's state is private and inaccessible from other accounts.   

## Structure of an Application
<div class="pull-right">
http://cdn.jbilling.com/uploads/general/DB_Documentation_HTML_Version_html_m3f68a531.jpeg
</div>

Every account (aka application) has its own private database in which it can define any number of tables with a number of sorted indices per table. These database tables are used to store the state of your application. This state is described by a schema which makes it possible for general purpose block explorers to represent the state of all contracts in a meaningful way.

Every account can define any number of types, aka structs. These structs define the binary serialization of messages and enable anyone to convert the binary representations to and from canonical human readable JSON representations. This keeps the blockchain transparent for all while having efficient binary encodings. 

Lastly every account can define what actions it wants to take when it is copied on a message delivered to any other account. For example, an exchange needs to process deposits when a *Transfer* message is delivered to a currency application and the exchange application is the recipient.

## Example Currency Application

One of the simplest applications is a currency. This example will walk through how a currency application could be structured on EOS.

### Disclaimer

The following example code is for conceptual purposes only and final implementation details will certainly be different. 

### Basic Currency Contract

When writing an application you start by asking yourself what actions are taken by the actors (aka accounts), then you define the database schema which stores and indexes data derived from these actions. After you have defined these things you specify the logic that transforms database state based upon an incoming action.  Lastly, you (optionally) group message handlers into permission groups.

Let's look at a simple high-level application that implements a currency. A currency can be represented as a table mapping the owner to their balance. It allows the owner of the balance to transfer funds to another account and will create a new balance entry for that account if one does not exist. It must prohibit sending money to yourself and require that the amount transferred is greater than 0.  Initially all the money is owned by the contracts own account. Any time a balance reaches 0, the account's balance record should be deleted.

```
struct Transfer
  to      AccountName
  from    AccountName
  amount  UInt64

struct Init

table Balance
  owner   AccountName
  balance UInt64

on Init action
   precondition:
     eos.requireAuthority( eos.thisAccount() )
     eos.require( !Balance.find( eos.thisAccount() ) ) /// only call once

   apply:
     self         = Balance.new()
     self.owner   = eos.thisAccount()
     self.balance = 100000  /// maximum currency supply
     Balance.save(self)


on Transfer action
   validate:
     // static validation, verifies action is internally consistent
     // no access to database tables
     eos.require( action.amount > 0 ) 
     eos.require( action.to != action.from ) 
     eos.requireNotify( action.to ) 

   precondition:
     // identify possible precondition check that can 
     // be executed with readonly access
     eos.require( Balance[action.from].balance >= action.amount )
     eos.requireAuthority( action.from )

   apply:
     // assuming all prior steps pass, perform the state transition
     // that updates balances and/or creates a new account for receiver
     var from = Balance[message.from]
     var to   = Balance.find( action.to )

     if( !to ) {
        to         = Balance.new()
        to.owner   = action.to
     }

     from.balance = from.balance - action.amount
     to.balance   = to.balance   + action.amount

    Balance.save(to)

    if( from.balance > 0 )
        Balance.save(from)
    else if( from != eos.thisAccount() ) 
        Balance.delete(from)
```


### Things to Notice

Event handlers are divided into three sections: validate, precondition, and apply. These different sections separate out processing into distinctly different phases which enables performance optimizations and parallelism. The validate, and precondition checks are all read-only which means they can be processed in parallel.

The apply step is the only part that needs to be performed to regenerate the current database state from the history of pre-verified actions. This is critical because it is much cheaper to process calculations in validate and precondition than it is in apply. Once a block is deemed irreversible validate and precondition never have to execute again whereas apply must be executed to generate the deterministic state every time the blockchain is synchronized.

## Stay Tuned
Stay tuned for more information on how decentralized applications communicate on EOS. Also, don't forget to signup to our mailing list at http://eos.io.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 123 others
👎  
properties (23)
authoreosio
permlinkimplementing-a-hypothetical-currency-application-on-eos
categoryeos
json_metadata{"tags":["eos","smartcontract","blockchain"],"image":["https://steemitimages.com/DQmTZbi9ou5pDzcczgE2oqzg5N22p7oizajpNPGfQ1JPfgJ/image.png","http://cdn.jbilling.com/uploads/general/DB_Documentation_HTML_Version_html_m3f68a531.jpeg"],"links":["http://eos.io"],"app":"steemit/0.1","format":"markdown"}
created2017-05-17 04:04:12
last_update2017-05-17 04:04:12
depth0
children47
last_payout2017-05-24 04:04:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length6,515
author_reputation27,974,755,807,058
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout0.000 HBD
percent_hbd10,000
post_id3,481,685
net_rshares31,471,434,398,334
author_curate_reward""
vote details (188)
@aggroed ·
https://media3.giphy.com/media/gvoias0j99ako/giphy.gif
👍  
properties (23)
authoraggroed
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t040849729z
categoryeos
json_metadata{"tags":["eos"],"image":["https://media3.giphy.com/media/gvoias0j99ako/giphy.gif"],"app":"steemit/0.1"}
created2017-05-17 04:08:51
last_update2017-05-17 04:08:51
depth1
children1
last_payout2017-05-24 04:08:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length54
author_reputation1,343,345,274,857,310
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,756
net_rshares748,435,158
author_curate_reward""
vote details (1)
@j3dy ·
::DD give it here :)
properties (22)
authorj3dy
permlinkre-aggroed-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170608t133535251z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-06-08 13:35:39
last_update2017-06-08 13:35:39
depth2
children0
last_payout2017-06-15 13:35:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length20
author_reputation9,439,758,416,991
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id4,403,494
net_rshares0
@dalaidennis ·
Very interesting read!
properties (22)
authordalaidennis
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170529t143103466z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-29 14:31:03
last_update2017-05-29 14:31:03
depth1
children0
last_payout2017-06-05 14:31:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length22
author_reputation20,224,165,380
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,923,348
net_rshares0
@datchannel ·
$0.05
Hi. I am a regular Joe, and I don't understand most of what is in this post. I have gathered that EOS is a competitor to Ethereum and that your goal is to make it more effective in terms of transactions per sec. I have never participated in an ICO, but I did sign up for the mailing list, hoping to participate in this one. If you read this comment and you are tech savvy, could you please try to explain what EOS is capable of in layman terms? And how it works? This would be greatly appreciated.
👍  ,
properties (23)
authordatchannel
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t123112416z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 12:31:12
last_update2017-05-17 12:31:12
depth1
children4
last_payout2017-05-24 12:31:12
cashout_time1969-12-31 23:59:59
total_payout_value0.034 HBD
curator_payout_value0.011 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length497
author_reputation3,211,850,657
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,491,003
net_rshares29,114,687,483
author_curate_reward""
vote details (2)
@full-steem-ahead ·
$0.10
I think that was @dantheman's attempt to explain this to pseudo-average joe types. I thought the email / messages analogy was pretty good. All blockchain projects are very complex, and no analogy will be perfect. It truly depends on what level of understanding you are seeking. How easily can you explain the way a computer works? Your understanding will only be limited by your own curiosity and willingness to learn. Give yourself time to absorb the info. I've been a geek / techno wizard type for my entire life and there are things that are beyond my understanding, but only b/c I have not chosen to invest the time to dig deeper.

Anytime you simplify a topic accuracy and details are lost. How accurate do you want your explanation to be?
👍  , ,
properties (23)
authorfull-steem-ahead
permlinkre-datchannel-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t155111700z
categoryeos
json_metadata{"tags":["eos"],"users":["dantheman"],"app":"steemit/0.1"}
created2017-05-17 15:51:12
last_update2017-05-17 15:51:12
depth2
children2
last_payout2017-05-24 15:51:12
cashout_time1969-12-31 23:59:59
total_payout_value0.080 HBD
curator_payout_value0.024 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length744
author_reputation30,177,498,572,933
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,496,723
net_rshares65,484,756,959
author_curate_reward""
vote details (3)
@datchannel · (edited)
Thank you for the reply. I want the explanation to be so simple that it only highlights the differences between EOS and Ethereum from a user perspective like Intelliguy says. He is spot on with his e-mail analogy. 

If any of you have seen the tv show Silicon Valley it highlights this potential problem perfectly. Their software "Pied Piper" is really nice and useful, but no one understands it and the dev. team is not able to explain what they have made to the general public.

It may be completely obvious to the devs that their product is good and that it could revolutionize the world, but remember that the general public know nothing of how anything  works with programming. It is all magic to them. You press W on your keyboard and your character moves forward in the video game.... You flick the switch and the light comes on.... You press this sequence of numbered buttons and the phone rings....
properties (22)
authordatchannel
permlinkre-full-steem-ahead-re-datchannel-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170521t002929846z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-21 00:29:30
last_update2017-05-21 00:40:36
depth3
children0
last_payout2017-05-28 00:29:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length907
author_reputation3,211,850,657
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,615,526
net_rshares0
@intelliguy · (edited)
$0.07
I think his point is from a user perspective, what benefits are there to such a system in real world scenarios.

Basically what Dan did is similar to explaining how SMTP, POP3, MTA, and MX works for email.  Now ask most people how each component works for email, and they'll tell you:

### Uh, I don't know. In the TO line, I put my mother's email address. In the subject line I put "hi mom" and then I type what I want to send.

What could EOS do better, than existing technologies out there (from a USER perspective only).  That's going to be the key thing to explain.
👍  , , , , ,
properties (23)
authorintelliguy
permlinkre-full-steem-ahead-re-datchannel-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170519t022300828z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-19 02:23:03
last_update2017-05-19 02:36:57
depth3
children0
last_payout2017-05-26 02:23:03
cashout_time1969-12-31 23:59:59
total_payout_value0.053 HBD
curator_payout_value0.016 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length570
author_reputation62,276,657,564,898
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,548,431
net_rshares43,170,032,299
author_curate_reward""
vote details (6)
@modprobe · (edited)
Remember, this is software that hasn't even been officially and formally _announced_ yet. Keep watching and the picture will become more clear. :)
properties (22)
authormodprobe
permlinkre-datchannel-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170520t163152997z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-20 16:31:57
last_update2017-05-20 16:32:21
depth2
children0
last_payout2017-05-27 16:31:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length146
author_reputation57,055,357,664,878
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,602,771
net_rshares0
@daynewright ·
> When writing an application you start by asking yourself what actions are taken by the actors (aka accounts)... After you have defined these things you specify the logic that transforms database state based upon an incoming action. 

So this looks similar to redux in the react world with actions that triggers reducers to perform some changes on state.  Is this accurate?
properties (22)
authordaynewright
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170529t010606166z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-29 01:06:09
last_update2017-05-29 01:06:09
depth1
children0
last_payout2017-06-05 01:06:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length374
author_reputation2,668,543,806,863
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,906,207
net_rshares0
@doqstrader ·
Indeed.. very detail. Thanks. I ve been looking information like this..
properties (22)
authordoqstrader
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170524t163726083z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-24 16:37:27
last_update2017-05-24 16:37:27
depth1
children0
last_payout2017-05-31 16:37:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length71
author_reputation756,354,394,224
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,744,359
net_rshares0
@ecooo ·
l like   
how can  l  join this?  ico  or pos?
properties (22)
authorecooo
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170520t023407623z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-20 02:42:18
last_update2017-05-20 02:42:18
depth1
children0
last_payout2017-05-27 02:42:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length46
author_reputation0
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,584,195
net_rshares0
@emonandels ·
i like your post
properties (22)
authoremonandels
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170527t203834582z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-27 20:28:27
last_update2017-05-27 20:28:27
depth1
children0
last_payout2017-06-03 20:28:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length16
author_reputation436,204,194,180
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,865,692
net_rshares0
@good-karma ·
$3.55
Great to see example of practical use cases! Hope there will be more of these... :)

>Every account (aka application) has its own private database

Where these db is stored?
👍  , , , , , ,
properties (23)
authorgood-karma
permlinkre-eosio-2017517t71611953z
categoryeos
json_metadata{"tags":"eos","app":"esteem/1.4.4","format":"markdown+html","community":"esteem"}
created2017-05-17 04:16:12
last_update2017-05-17 04:16:12
depth1
children7
last_payout2017-05-24 04:16:12
cashout_time1969-12-31 23:59:59
total_payout_value2.659 HBD
curator_payout_value0.889 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length173
author_reputation656,210,854,708,425
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries
0.
accountesteemapp
weight100
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,872
net_rshares1,598,812,704,248
author_curate_reward""
vote details (7)
@dantheman · (edited)
$0.82
In the implied blockchain state on every node.  Aka, the same place your STEEM posts, balances, and votes are stored.

This would use chainbase behind the scenes so would be fast and stored in shared memory.
👍  , , , , , , ,
properties (23)
authordantheman
permlinkre-good-karma-re-eosio-2017517t71611953z-20170517t041721927z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 04:17:21
last_update2017-05-17 04:18:42
depth2
children6
last_payout2017-05-24 04:17:21
cashout_time1969-12-31 23:59:59
total_payout_value0.620 HBD
curator_payout_value0.201 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length207
author_reputation240,292,002,602,347
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,890
net_rshares461,771,974,571
author_curate_reward""
vote details (8)
@good-karma ·
$0.87
Thanks, it makes sense!

Apply basically will have limited 3 seconds of execution time ?
👍  , , ,
properties (23)
authorgood-karma
permlinkre-dantheman-2017517t75011223z
categoryeos
json_metadata{"tags":"eos","app":"esteem/1.4.4","format":"markdown+html","community":"esteem"}
created2017-05-17 04:50:12
last_update2017-05-17 04:50:12
depth3
children5
last_payout2017-05-24 04:50:12
cashout_time1969-12-31 23:59:59
total_payout_value0.651 HBD
curator_payout_value0.216 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length88
author_reputation656,210,854,708,425
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries
0.
accountesteemapp
weight100
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,482,447
net_rshares488,556,020,105
author_curate_reward""
vote details (4)
@harikrishna909 ·
Great article for newbies. I would like to see real world use case scenarios with more complex data structures and scope management. 
Thanks,
properties (22)
authorharikrishna909
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20180517t170857388z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2018-05-17 17:08:57
last_update2018-05-17 17:08:57
depth1
children0
last_payout2018-05-24 17:08:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length141
author_reputation0
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id56,220,601
net_rshares0
@intelliguy ·
$11.23
What I like about this code, is that it looks like a "template" that is easily modified by amateur coders.

Many people started learning programming languages by taking existing code that someone else wrote... making a few changes, and personalizing it to do what they wanted instead.

Instead of API's which explain commands, and you have to write your own code to talk to the API...

Having modular code that already does basic tasks, and inviting anyone to plug and play with this code, changing only certain parameters makes it even easier to onboard a lot of people.

Remember the original LOGO programming language?

It was so easy to use.  Kids were drawing boxes and lines on the screen with real basic commands.  It gave you a sense of empowerment and encouraged you to learn more.

If we do away with API's, and instead give pre-made, basic scripts that already do basic functions, this will help make widespread adoption easier.

Think of basic perl cgi scripts for websites. Once you looked at how some worked, you could modify the source code and build your own version. The key was finding existing scripts written by someone else and making your own tweaks, modifications, and edits.
👍  , , , , , , , , , , , , , ,
properties (23)
authorintelliguy
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170519t023457684z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-19 02:35:00
last_update2017-05-19 02:35:00
depth1
children2
last_payout2017-05-26 02:35:00
cashout_time1969-12-31 23:59:59
total_payout_value8.468 HBD
curator_payout_value2.759 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,198
author_reputation62,276,657,564,898
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,548,674
net_rshares3,598,020,933,576
author_curate_reward""
vote details (15)
@andric ·
Yes, totally. As a beginner learning to code with JavaScript, React, and Redux, these are very familiar concepts to me.
👍  
properties (23)
authorandric
permlinkre-intelliguy-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170627t080641413z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-06-27 08:06:42
last_update2017-06-27 08:06:42
depth2
children1
last_payout2017-07-04 08:06:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length119
author_reputation58,563,096
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id6,298,290
net_rshares1,160,708,279
author_curate_reward""
vote details (1)
@ackza ·
3 years later and EOSIO comes full circle, and we have @eosteem http://eosteem.net 
We have TRX now lol, trx is trying to be the smart contract for steem now LOL tron bought steemit hah

Anyway EOSIO is great for steemians, we should all get involved with developing for eosio in steem, we already have STEEMP on EOS and EOSP on STEEM. 

https://newdex.io/trade/steemoneosio-steemp-eos
properties (22)
authorackza
permlinkq6jpz2
categoryeos
json_metadata{"users":["eosteem"],"links":["http://eosteem.net","https://newdex.io/trade/steemoneosio-steemp-eos"],"app":"steemit/0.2"}
created2020-03-02 03:06:39
last_update2020-03-02 03:06:39
depth3
children0
last_payout2020-03-09 03:06:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length385
author_reputation287,802,141,171,770
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id95,984,226
net_rshares0
@j3dy ·
I have a lot to read then :) This seems like just a flake of everything possible
properties (22)
authorj3dy
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170608t133424643z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-06-08 13:34:27
last_update2017-06-08 13:34:27
depth1
children0
last_payout2017-06-15 13:34:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length80
author_reputation9,439,758,416,991
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id4,403,426
net_rshares0
@jacobts ·
$0.34
More awesomeness. Shared with @Steemtrail.
👍  
properties (23)
authorjacobts
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t062108806z
categoryeos
json_metadata{"tags":["eos"],"users":["steemtrail"],"app":"steemit/0.1"}
created2017-05-17 06:20:57
last_update2017-05-17 06:20:57
depth1
children0
last_payout2017-05-24 06:20:57
cashout_time1969-12-31 23:59:59
total_payout_value0.259 HBD
curator_payout_value0.085 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length42
author_reputation32,926,868,037,691
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,484,101
net_rshares206,167,512,298
author_curate_reward""
vote details (1)
@jamesc1 · (edited)
Great to see your recent work on the language.  Very clean.  You said it would change so here goes..

It would be very cool to get rid of this: `Balance.save(to)` and this `Balance.save(from)`.  The contract would need to be transactional to some extent so a failed assertion or error would roll all the changes.

This is motivating me to add your text format in a struct serialization parser.   Using text in addition to json is a very easy enhancement.
👍  , ,
properties (23)
authorjamesc1
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t163416197z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 16:34:15
last_update2017-05-17 16:35:03
depth1
children0
last_payout2017-05-24 16:34:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length454
author_reputation939,862,516,890
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,497,865
net_rshares1,348,901,465
author_curate_reward""
vote details (3)
@jeffjagoe ·
Very cool. I was searching for more info on EOS and here it is. Crypto-currencies are evolving before our very eyes.
👍  
properties (23)
authorjeffjagoe
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t113833507z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 11:38:36
last_update2017-05-17 11:38:36
depth1
children0
last_payout2017-05-24 11:38:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length116
author_reputation608,332,800,911,779
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,489,815
net_rshares0
author_curate_reward""
vote details (1)
@kingscrown ·
im hyped on this project ;)
properties (22)
authorkingscrown
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t141952481z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 14:19:54
last_update2017-05-17 14:19:54
depth1
children0
last_payout2017-05-24 14:19:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length27
author_reputation2,114,606,667,003,741
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,493,764
net_rshares0
@knircky ·
Sweeeeeeet! Please keep writing like this!!!
properties (22)
authorknircky
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170522t052523990z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-22 05:25:24
last_update2017-05-22 05:25:24
depth1
children0
last_payout2017-05-29 05:25:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length44
author_reputation212,905,587,244,262
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,652,793
net_rshares0
@kyriacos ·
Excellent. Definitely looking forward for the testnet
properties (22)
authorkyriacos
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t042329879z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 04:23:33
last_update2017-05-17 04:23:33
depth1
children0
last_payout2017-05-24 04:23:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length53
author_reputation151,079,958,921,004
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,990
net_rshares0
@lukestokes ·
This sounds really interesting. I almost want to think up some real world problems just to see if I could build their solutions within EOS. :)

Will there be a testnet for people who want to play around with this?

> Once a block is deemed irreversible validate and precondition never have to execute again whereas apply must be executed to generate the deterministic state every time the blockchain is synchronized.

I really like that. Seems like an efficient way to go if much of the code to validate things has already been run before it was applied and won't need to be run again.
properties (22)
authorlukestokes
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t041734352z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 04:17:33
last_update2017-05-17 04:17:33
depth1
children2
last_payout2017-05-24 04:17:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length585
author_reputation555,781,629,106,002
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,893
net_rshares0
@dantheman ·
Yes there will be a public test net.
👍  ,
properties (23)
authordantheman
permlinkre-lukestokes-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t041954963z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 04:19:54
last_update2017-05-17 04:19:54
depth2
children1
last_payout2017-05-24 04:19:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length36
author_reputation240,292,002,602,347
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,935
net_rshares1,169,497,522
author_curate_reward""
vote details (2)
@lukestokes ·
Niiiiice. I wish I could be at Consensus. I hope it's one hell of a party. :)
properties (22)
authorlukestokes
permlinkre-dantheman-re-lukestokes-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t042106945z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 04:21:06
last_update2017-05-17 04:21:06
depth3
children0
last_payout2017-05-24 04:21:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length77
author_reputation555,781,629,106,002
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,951
net_rshares0
@marioworld ·
We need to off block chain contacts too, like Aeternity is implementing. Private contacts that only ever need to touch the chain if there is a dispute
properties (22)
authormarioworld
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170518t082626157z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-18 08:26:27
last_update2017-05-18 08:26:27
depth1
children0
last_payout2017-05-25 08:26:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length150
author_reputation-16,470,971,495
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,520,515
net_rshares0
@noganoo · (edited)
$0.29
Excellent newbie guide to smart contracts on the "Blockchain with a Heart" known as EOS!  Thanks for the prompt updates guys!  We are all so excited for launch.  We'll put those Eth heads to shame.  I have always wanted to create my own token and I have so many cool ideas I want to implement for my products like a rewards system.  Also I thought of an idea to put QR codes on cigarette butts and fast food bags so that if they are properly disposed of the consumer or recycler can receive a reward!  A cryptographic solution to real world problems!  All things will be possible with the EOS graphene chain, low cost compared to Ethereum I'm sure!
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authornoganoo
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t041020734z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 04:10:24
last_update2017-05-17 04:13:15
depth1
children4
last_payout2017-05-24 04:10:24
cashout_time1969-12-31 23:59:59
total_payout_value0.259 HBD
curator_payout_value0.026 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length648
author_reputation-12,409,054,499,907
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,481,775
net_rshares172,565,590,514
author_curate_reward""
vote details (33)
@rok-sivante ·
interesting ideas indeed...
properties (22)
authorrok-sivante
permlinkre-noganoo-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170520t175203706z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-20 17:52:03
last_update2017-05-20 17:52:03
depth2
children0
last_payout2017-05-27 17:52:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length27
author_reputation664,045,451,891,191
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,605,102
net_rshares0
@vato ·
You can already have your own token on BitShares, no need to wait months or even years for a stable eos platform.
👎  
properties (23)
authorvato
permlinkre-noganoo-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t102324866z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 10:23:27
last_update2017-05-17 10:23:27
depth2
children2
last_payout2017-05-24 10:23:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length113
author_reputation3,378,892,006,080
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,488,345
net_rshares0
author_curate_reward""
vote details (1)
@noganoo ·
Bitshares "Openledger" is clunky and an overall mess.  Until this is changed I wouldn't dare subject my users to having to deal with it.
properties (22)
authornoganoo
permlinkre-vato-re-noganoo-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t130614236z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 13:06:18
last_update2017-05-17 13:06:18
depth3
children1
last_payout2017-05-24 13:06:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length136
author_reputation-12,409,054,499,907
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,491,797
net_rshares0
@nutela ·
Was that graph made with yEd Graph Editor?
properties (22)
authornutela
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170704t194813070z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-07-04 19:48:12
last_update2017-07-04 19:48:12
depth1
children0
last_payout2017-07-11 19:48:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length42
author_reputation12,740,113,194,550
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id7,315,954
net_rshares0
@patelincho ·
Good lucky with this project !
This may help you :
https://steemit.com/eos/@patelincho/dpos-consensus-algorithm-white-paper-of-eos-translated-into-bulgarian-dpos-algoritm-za-konsensus-byala-kniga-na-eos-prevedena-na
properties (22)
authorpatelincho
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170529t115256628z
categoryeos
json_metadata{"tags":["eos"],"links":["https://steemit.com/eos/@patelincho/dpos-consensus-algorithm-white-paper-of-eos-translated-into-bulgarian-dpos-algoritm-za-konsensus-byala-kniga-na-eos-prevedena-na"],"app":"steemit/0.1"}
created2017-05-29 12:01:42
last_update2017-05-29 12:01:42
depth1
children0
last_payout2017-06-05 12:01:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length215
author_reputation52,897,220,193,484
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,919,480
net_rshares0
@roelandp · (edited)
Messages, will be checked / earmarked as 'processed' by the chain software? In the end one of the validators is processing the message and executes the code right to store it in the db. What happens if a physical server in the middle of the execution quits because of power failure?

Will messages get a lifetime? Doubles(p)ent messages :) will there be unexecuted messages floating around on chain? Are you the messenger? 

Lastly, are you know working on hypothetical apps and building the source afterwards or is the source, specifically for the eos part, already ready? 

See you in nyc!
👍  
properties (23)
authorroelandp
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t054149598z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 05:41:48
last_update2017-05-17 07:30:09
depth1
children1
last_payout2017-05-24 05:41:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length591
author_reputation662,936,810,561,284
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,483,351
net_rshares0
author_curate_reward""
vote details (1)
@dantheman ·
$0.43
Messages are like Steem and BitShares transactions.  A power failure would simply require replaying from the last good snapshot of the state.
👍  , , ,
properties (23)
authordantheman
permlinkre-roelandp-re-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t191553868z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 19:15:54
last_update2017-05-17 19:15:54
depth2
children0
last_payout2017-05-24 19:15:54
cashout_time1969-12-31 23:59:59
total_payout_value0.324 HBD
curator_payout_value0.105 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length141
author_reputation240,292,002,602,347
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,502,872
net_rshares252,241,777,222
author_curate_reward""
vote details (4)
@sivachaitanya ·
What database are you referring to in the "Structure of an Application" section. Is it levelDB ? If levelDB how are you achieving the concept of indices in the NoSQL database, and are you achieving the O(logN) efficiency ? Can you please explain ?
properties (22)
authorsivachaitanya
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20171103t122619978z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-11-03 12:26:24
last_update2017-11-03 12:26:24
depth1
children0
last_payout2017-11-10 12:26:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length247
author_reputation8,684,389
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id19,347,139
net_rshares0
@steem360 ·
$3.49
I am flabbergasted by the fact that you can include a fully functional private database in each contract. It means that you could write accounting and business solutions in a revolutionary new way (no more double entry archaic methods). For the first time, as a former business application developer, I can relate to the blockchain technology and figure how massively disruptive it will be. Is this feature exclusive to EOS Blockchain (contract private database)?
👍  , , , , , , , , , , ,
properties (23)
authorsteem360
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170517t231347371z
categoryeos
json_metadata{"tags":["eos"],"app":"steemit/0.1"}
created2017-05-17 23:13:48
last_update2017-05-17 23:13:48
depth1
children0
last_payout2017-05-24 23:13:48
cashout_time1969-12-31 23:59:59
total_payout_value2.625 HBD
curator_payout_value0.868 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length463
author_reputation54,344,674,413
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,509,730
net_rshares1,562,646,719,330
author_curate_reward""
vote details (12)
@steemint ·
$0.18
Hello @eosio .. what a great week for y'all, and ... for us all as well!  This post has been featured in the latest issue of <a href="https://steemit.com/steem/@steemint/steemint-004-the-steem-intelligence-journal-special-eos-edition">STEEMINT - The STEEM Intelligence Journal .... the Special EOS Edition!</a>
👍  ,
properties (23)
authorsteemint
permlinkre-eosio-implementing-a-hypothetical-currency-application-on-eos-20170525t045521652z
categoryeos
json_metadata{"tags":["eos"],"users":["eosio"],"links":["https://steemit.com/steem/@steemint/steemint-004-the-steem-intelligence-journal-special-eos-edition"],"app":"steemit/0.1"}
created2017-05-25 04:55:24
last_update2017-05-25 04:55:24
depth1
children0
last_payout2017-06-01 04:55:24
cashout_time1969-12-31 23:59:59
total_payout_value0.170 HBD
curator_payout_value0.007 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length310
author_reputation1,185,807,592,882
root_title"Implementing a Hypothetical Currency Application on EOS"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id3,767,385
net_rshares133,455,674,623
author_curate_reward""
vote details (2)