Ecoer Logo
pmiklos

@pmiklos

25

Crypto enthusiast, programmer, Obyte fan

hive.blog/@pmiklos
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
269.305USD
HIVE
0.015HIVE
HBD
15.393HBD
Own HP
633.483HP

Detailed Balance

HIVE
balance
0.015HIVE
market_balance
0.000HIVE
savings_balance
0.000HIVE
reward_hive_balance
0.561HIVE
HIVE POWER
Own HP
633.483HP
Delegated Out
0.000HP
Delegation In
0.000HP
Effective Power
633.483HP
Reward HP (pending)
1.439HP
HBD
hbd_balance
15.393HBD
hbd_conversions
0.000HBD
hbd_market_balance
0.000HBD
savings_hbd_balance
0.000HBD
reward_hbd_balance
0.288HBD
{
  "balance": "0.015 HIVE",
  "savings_balance": "0.000 HIVE",
  "reward_hive_balance": "0.561 HIVE",
  "vesting_shares": "1028195.168403 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "hbd_balance": "15.393 HBD",
  "savings_hbd_balance": "0.000 HBD",
  "reward_hbd_balance": "0.288 HBD"
}

Account Info

namepmiklos
id1203973
rank0
reputation0
created2019-01-22T01:15:18
recovery_accountbyteball.market
proxyNone
invited_bynull
post_count6
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2019-09-15T21:34:36
last_root_post2019-09-15T21:34:36
last_vote_time2019-10-26T16:23:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power9,799
delayed_votesNone
governance_vote_expiration_ts1969-12-31T23:59:59
balance0.015 HIVE
savings_balance0.000 HIVE
hbd_balance15.393 HBD
savings_hbd_balance0.000 HBD
vesting_shares1028195.168403 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance2875.260951 VESTS
vesting_balance0.000 HIVE
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2019-08-02T05:09:45
minedNo
hbd_seconds0
hbd_last_interest_payment1970-01-01T00:00:00
savings_hbd_last_interest_payment1970-01-01T00:00:00
{
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM7xs2c7dBHNGCmBsJbHjxWeL9gjy8UaWQ5g67M6PjMKnDDEPAso",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "balance": "0.015 HIVE",
  "can_vote": true,
  "comment_count": 0,
  "created": "2019-01-22T01:15:18",
  "curation_rewards": 13,
  "delayed_votes": [],
  "delegated_vesting_shares": "0.000000 VESTS",
  "downvote_manabar": {
    "current_mana": 257048792100,
    "last_update_time": 1572106980
  },
  "governance_vote_expiration_ts": "1969-12-31T23:59:59",
  "guest_bloggers": [],
  "hbd_balance": "15.393 HBD",
  "hbd_last_interest_payment": "1970-01-01T00:00:00",
  "hbd_seconds": "0",
  "hbd_seconds_last_update": "2019-06-22T22:56:36",
  "id": 1203973,
  "json_metadata": "{\"profile\":{\"name\":\"Obyte Programmer\",\"about\":\"Crypto enthusiast, programmer, Obyte fan\",\"website\":\"https://obyte.app\",\"profile_image\":\"https://cdn.steemitimages.com/DQmXYx1mAyUnNY9QYPgfxL1nynAL2jG21X7w9w7SZaZbNZP/profile-motorhead-cyberpunk.png\",\"cover_image\":\"https://cdn.steemitimages.com/DQmRJzYQwVx4WxGMiUAHbkHFsj6ke8zPsHH1uYw31eZsYWY/twitter-cover.png\"}}",
  "last_account_recovery": "1970-01-01T00:00:00",
  "last_account_update": "2019-08-02T05:09:45",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_post": "2019-09-15T21:34:36",
  "last_root_post": "2019-09-15T21:34:36",
  "last_vote_time": "2019-10-26T16:23:00",
  "lifetime_vote_count": 0,
  "market_history": [],
  "memo_key": "STM7KJjDHsDj8g3eWb3i1hVFqomz8nsWFAEda3ENMJnxa9rJ6VjXE",
  "mined": false,
  "name": "pmiklos",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "open_recurrent_transfers": 0,
  "other_history": [],
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM6r8bDk7mvddsySvA1nst3LJgLGFiC8ND4d1WGDSEhVLTGGWDqm",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "pending_claimed_accounts": 0,
  "pending_transfers": 0,
  "post_bandwidth": 0,
  "post_count": 6,
  "post_history": [],
  "post_voting_power": "1028195.168403 VESTS",
  "posting": {
    "account_auths": [
      [
        "busy.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM6gb6jGfpq66Bv6E69grQegBWBaQ9BaW4WMyqjJPTkgn5TszN5Z",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting_json_metadata": "{\"profile\":{\"name\":\"Obyte Programmer\",\"about\":\"Crypto enthusiast, programmer, Obyte fan\",\"website\":\"https://obyte.app\",\"profile_image\":\"https://cdn.steemitimages.com/DQmXYx1mAyUnNY9QYPgfxL1nynAL2jG21X7w9w7SZaZbNZP/profile-motorhead-cyberpunk.png\",\"cover_image\":\"https://cdn.steemitimages.com/DQmRJzYQwVx4WxGMiUAHbkHFsj6ke8zPsHH1uYw31eZsYWY/twitter-cover.png\"}}",
  "posting_rewards": 2851,
  "previous_owner_update": "1970-01-01T00:00:00",
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "proxy": "",
  "received_vesting_shares": "0.000000 VESTS",
  "recovery_account": "byteball.market",
  "reputation": 0,
  "reset_account": "null",
  "reward_hbd_balance": "0.288 HBD",
  "reward_hive_balance": "0.561 HIVE",
  "reward_vesting_balance": "2875.260951 VESTS",
  "reward_vesting_hive": "1.439 HIVE",
  "savings_balance": "0.000 HIVE",
  "savings_hbd_balance": "0.000 HBD",
  "savings_hbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_hbd_seconds": "0",
  "savings_hbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "tags_usage": [],
  "to_withdraw": 0,
  "transfer_history": [],
  "vesting_balance": "0.000 HIVE",
  "vesting_shares": "1028195.168403 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "vote_history": [],
  "voting_manabar": {
    "current_mana": 1007631265034,
    "last_update_time": 1572106980
  },
  "voting_power": 9799,
  "withdraw_routes": 0,
  "withdrawn": 0,
  "witness_votes": [],
  "witnesses_voted_for": 0,
  "rank": 0
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
therealwolfsent 0.002 HIVE to @pmiklos- "Hey there pmiklos. I hope you don’t mind this short message, but I wanted to quickly share this update with you on my Hive-related work. For the past 7 years, I've been deeply committed to Hive, worki..."
2024/11/13 08:27:09
amount0.002 HIVE
fromtherealwolf
memoHey there pmiklos. I hope you don’t mind this short message, but I wanted to quickly share this update with you on my Hive-related work. For the past 7 years, I've been deeply committed to Hive, working on projects like hive.io, vessel, dhive & more to strengthen our community, while providing reliable witness infrastructure to secure our blockchain. Recently, I've released an upgraded witness toolkit (peakd.com/@therealwolf/major-hive-witness-essentials-upgrade-v2) and celebrated 7+ years on Hive (peakd.com/@therealwolf/year-8). If you'd like to support my work, I'd be honored to have your witness vote. Thank you! PS: You can vote for me here: peakd.com/witnesses
topmiklos
Transaction InfoBlock #90644504/Trx 4c219fe8c5f766dd30079b63be5648814f12aa19
View Raw JSON Data
{
  "block": 90644504,
  "op": [
    "transfer",
    {
      "amount": "0.002 HIVE",
      "from": "therealwolf",
      "memo": "Hey there pmiklos. I hope you don’t mind this short message, but I wanted to quickly share this update with you on my Hive-related work. For the past 7 years, I've been deeply committed to Hive, working on projects like hive.io, vessel, dhive & more to strengthen our community, while providing reliable witness infrastructure to secure our blockchain. Recently, I've released an upgraded witness toolkit (peakd.com/@therealwolf/major-hive-witness-essentials-upgrade-v2) and celebrated 7+ years on Hive (peakd.com/@therealwolf/year-8). If you'd like to support my work, I'd be honored to have your witness vote. Thank you! PS: You can vote for me here: peakd.com/witnesses",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 8,
  "timestamp": "2024-11-13T08:27:09",
  "trx_id": "4c219fe8c5f766dd30079b63be5648814f12aa19",
  "trx_in_block": 5,
  "virtual_op": false
}
howosent 0.002 HIVE to @pmiklos- "Hey @pmiklos I am launching a new solo witness and am looking for support. If you are unfamiliar with what I do, I wrote a post announcing my witness here: https://peakd.com/witness/@howo/annoucing-my..."
2023/11/30 20:00:57
amount0.002 HIVE
fromhowo
memoHey @pmiklos I am launching a new solo witness and am looking for support. If you are unfamiliar with what I do, I wrote a post announcing my witness here: https://peakd.com/witness/@howo/annoucing-my-solo-witness. The tl;dr is that I've been on Hive for 6 years and for the past 4 I've been working as a core developer meaning I'm working directly on the blockchain code to add features. You might have interacted with some of them already like RC delegations, recurrent transfers or more recently I've been working on updating communities (new update soon !). If you want to support me, could you vote for me as a witness ? You can do it on this page https://peakd.com/me/witnesses. Thank you !
topmiklos
Transaction InfoBlock #80623392/Trx 1529f27bcee2916c3530d79aef68c9d10a7b4868
View Raw JSON Data
{
  "block": 80623392,
  "op": [
    "transfer",
    {
      "amount": "0.002 HIVE",
      "from": "howo",
      "memo": "Hey @pmiklos I am launching a new solo witness and am looking for support. If you are unfamiliar with what I do, I wrote a post announcing my witness here: https://peakd.com/witness/@howo/annoucing-my-solo-witness. The tl;dr is that I've been on Hive for 6 years and for the past 4 I've been working as a core developer meaning I'm working directly on the blockchain code to add features. You might have interacted with some of them already like RC delegations, recurrent transfers or more recently I've been working on updating communities (new update soon !). If you want to support me, could you vote for me as a witness ? You can do it on this page https://peakd.com/me/witnesses. Thank you !",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2023-11-30T20:00:57",
  "trx_id": "1529f27bcee2916c3530d79aef68c9d10a7b4868",
  "trx_in_block": 41,
  "virtual_op": false
}
howosent 0.001 HBD to @pmiklos- "Hi ! I've been a core developer on hive for three years now, working on features that are now powering the chain and improving user experience like RC delegations or recurrent transfers and currently ..."
2023/04/22 15:04:54
amount0.001 HBD
fromhowo
memoHi ! I've been a core developer on hive for three years now, working on features that are now powering the chain and improving user experience like RC delegations or recurrent transfers and currently wrapping up some features that will go live in hard fork 27. I'm also hosting the monthly core dev meeting. I would like to carry on working for hive for a fourth year. I am looking for support on my renewed proposal as the current one will expire soon. It's the same deal as the last one. Could you review it and maybe vote on it if it's worth your support ? https://peakd.com/me/proposals/261 Thanks a lot !
topmiklos
Transaction InfoBlock #74231614/Trx 28ff62d36bcd7e0891cbcbc61fbc39fb18a474b0
View Raw JSON Data
{
  "block": 74231614,
  "op": [
    "transfer",
    {
      "amount": "0.001 HBD",
      "from": "howo",
      "memo": "Hi ! I've been a core developer on hive for three years now, working on features that are now powering the chain and improving user experience like RC delegations or recurrent transfers and currently wrapping up some features that will go live in hard fork 27. I'm also hosting the monthly core dev meeting. I would like to carry on working for hive for a fourth year. I am looking for support on my renewed proposal as the current one will expire soon. It's the same deal as the last one. Could you review it and maybe vote on it if it's worth your support ? https://peakd.com/me/proposals/261 Thanks a lot !",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2023-04-22T15:04:54",
  "trx_id": "28ff62d36bcd7e0891cbcbc61fbc39fb18a474b0",
  "trx_in_block": 68,
  "virtual_op": false
}
howosent 0.001 HIVE to @pmiklos- "Hi, I have been working for the past two years as a core developer on hive. I worked on a lot of things last year some which went live in hard fork 25 already or will go live soon with hard fork 26. T..."
2022/04/08 21:10:51
amount0.001 HIVE
fromhowo
memoHi, I have been working for the past two years as a core developer on hive. I worked on a lot of things last year some which went live in hard fork 25 already or will go live soon with hard fork 26. To name a few, RC delegations, recurrent transfers or communities V2. I would love to continue working on hive for a third year on the next hard fork, communities and everything else. I am looking for support on my renewed proposal as the current one will expire soon. Could you review it and maybe vote on it if it's worth your support ? https://peakd.com/me/proposals/214 Thanks a lot !
topmiklos
Transaction InfoBlock #63343207/Trx 099e7251e47680e40a4a9ff119ae7d08313b4088
View Raw JSON Data
{
  "block": 63343207,
  "op": [
    "transfer",
    {
      "amount": "0.001 HIVE",
      "from": "howo",
      "memo": "Hi, I have been working for the past two years as a core developer on hive. I worked on a lot of things last year some which went live in hard fork 25 already or will go live soon with hard fork 26. To name a few, RC delegations, recurrent transfers or communities V2. I would love to continue working on hive for a third year on the next hard fork, communities and everything else. I am looking for support on my renewed proposal as the current one will expire soon. Could you review it and maybe vote on it if it's worth your support ? https://peakd.com/me/proposals/214 Thanks a lot !",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2022-04-08T21:10:51",
  "trx_id": "099e7251e47680e40a4a9ff119ae7d08313b4088",
  "trx_in_block": 20,
  "virtual_op": false
}
2020/01/22 02:29:30
authorsteemitboard
bodyCongratulations @pmiklos! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@pmiklos/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@pmiklos) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=pmiklos)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorpmiklos
parent permlinkhow-to-set-up-obyte-devnet-for-rapid-development
permlinksteemitboard-notify-pmiklos-20200122t022926000z
title
Transaction InfoBlock #40138947/Trx 5b29384316b5d8b688c6de49ef29b317583190c4
View Raw JSON Data
{
  "block": 40138947,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @pmiklos! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@pmiklos/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@pmiklos) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=pmiklos)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "pmiklos",
      "parent_permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "permlink": "steemitboard-notify-pmiklos-20200122t022926000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-01-22T02:29:30",
  "trx_id": "5b29384316b5d8b688c6de49ef29b317583190c4",
  "trx_in_block": 7,
  "virtual_op": false
}
crypto.piotrsent 0.002 HIVE to @pmiklos- "I hope you don't mind this little memo and that you have enjoyed recent halloween. I'm writing to share with you our recent publication, as I believe you may find it interesting and worth your time. D..."
2019/11/05 23:46:36
amount0.002 HIVE
fromcrypto.piotr
memoI hope you don't mind this little memo and that you have enjoyed recent halloween. I'm writing to share with you our recent publication, as I believe you may find it interesting and worth your time. Does title "INCREASE BY 50% YOUR WEEEKLY PAYOUT ...." sound interesting enough? :) Hopefully it does. Also: if you don't like receiving memos from me in the future then please let me know and I won't bother you again. Yours, Piotr // LINK: https://steemit.com/steemleo/@project.hope/increase-by-70-your-weeekly-payout-by-delegating-your-sp-to-project-hope
topmiklos
Transaction InfoBlock #37922253/Trx 4e806bd66a6ddd0cc2c317c313ec03db320bbcf3
View Raw JSON Data
{
  "block": 37922253,
  "op": [
    "transfer",
    {
      "amount": "0.002 HIVE",
      "from": "crypto.piotr",
      "memo": "I hope you don't mind this little memo and that you have enjoyed recent halloween. I'm writing to share with you our recent publication, as I believe you may find it interesting and worth your time. Does title \"INCREASE BY 50% YOUR WEEEKLY PAYOUT ....\" sound interesting enough? :) Hopefully it does. Also: if you don't like receiving memos from me in the future then please let me know and I won't bother you again. Yours, Piotr // LINK: https://steemit.com/steemleo/@project.hope/increase-by-70-your-weeekly-payout-by-delegating-your-sp-to-project-hope",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-11-05T23:46:36",
  "trx_id": "4e806bd66a6ddd0cc2c317c313ec03db320bbcf3",
  "trx_in_block": 17,
  "virtual_op": false
}
2019/10/26 16:23:03
authorwhoisterencelee
pending payout0.008 HBD
permlinkdecentralized-distributed-incentized-computing
rshares20513903369
total vote weight25223
voterpmiklos
weight10148
Transaction InfoBlock #37625963/Trx d564b168ac78b2352a63f34f687fcd5b603f5795
View Raw JSON Data
{
  "block": 37625963,
  "op": [
    "effective_comment_vote",
    {
      "author": "whoisterencelee",
      "pending_payout": "0.008 HBD",
      "permlink": "decentralized-distributed-incentized-computing",
      "rshares": 20513903369,
      "total_vote_weight": 25223,
      "voter": "pmiklos",
      "weight": 10148
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-10-26T16:23:03",
  "trx_id": "d564b168ac78b2352a63f34f687fcd5b603f5795",
  "trx_in_block": 20,
  "virtual_op": true
}
2019/10/26 16:23:03
authorwhoisterencelee
permlinkdecentralized-distributed-incentized-computing
voterpmiklos
weight10000 (100.00%)
Transaction InfoBlock #37625963/Trx d564b168ac78b2352a63f34f687fcd5b603f5795
View Raw JSON Data
{
  "block": 37625963,
  "op": [
    "vote",
    {
      "author": "whoisterencelee",
      "permlink": "decentralized-distributed-incentized-computing",
      "voter": "pmiklos",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-10-26T16:23:03",
  "trx_id": "d564b168ac78b2352a63f34f687fcd5b603f5795",
  "trx_in_block": 20,
  "virtual_op": false
}
crypto.piotrsent 0.002 HIVE to @pmiklos- "Good morning @pmiklos, Would you like to win 250$ for your BTC price prediction? My dear friend @ritxi is sharing info to interesting contest, which you may find worth your time. We're both not part o..."
2019/10/22 10:13:48
amount0.002 HIVE
fromcrypto.piotr
memoGood morning @pmiklos, Would you like to win 250$ for your BTC price prediction? My dear friend @ritxi is sharing info to interesting contest, which you may find worth your time. We're both not part of BlockFi (they are behind this contest) and we only share it with you since you've been posting about blockchain/crypto and I figured you may find this contest interesting. Yours, Piotr // LINK: https://steemit.com/contest/@ritxi/win-250-usd-for-you-btc-price-tip-or-by-blockfi
topmiklos
Transaction InfoBlock #37503619/Trx 1630b9946843a034e3a0c0ac728907ac85a32fcb
View Raw JSON Data
{
  "block": 37503619,
  "op": [
    "transfer",
    {
      "amount": "0.002 HIVE",
      "from": "crypto.piotr",
      "memo": "Good morning @pmiklos, Would you like to win 250$ for your BTC price prediction? My dear friend @ritxi is sharing info to interesting contest, which you may find worth your time. We're both not part of BlockFi (they are behind this contest) and we only share it with you since you've been posting about blockchain/crypto and I figured you may find this contest interesting. Yours, Piotr // LINK: https://steemit.com/contest/@ritxi/win-250-usd-for-you-btc-price-tip-or-by-blockfi",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-10-22T10:13:48",
  "trx_id": "1630b9946843a034e3a0c0ac728907ac85a32fcb",
  "trx_in_block": 5,
  "virtual_op": false
}
crypto.piotrsent 0.002 HIVE to @pmiklos- "Also please allow me to invite you to visit our team recent posts shared on @project.hope. It's a steem community build around common passion towards blockchain, AI and technology in general. Perhaps ..."
2019/10/22 09:59:00
amount0.002 HIVE
fromcrypto.piotr
memoAlso please allow me to invite you to visit our team recent posts shared on @project.hope. It's a steem community build around common passion towards blockchain, AI and technology in general. Perhaps you will find some topic worth your time and upvote :) So check us out on: www.steempeak.com/@project.hope (I hope you don't mind receiving those 2 memos; if you do then then please let me know).
topmiklos
Transaction InfoBlock #37503324/Trx b5f1f5c267c7cbebdf64c7f3f86d03178f1aee57
View Raw JSON Data
{
  "block": 37503324,
  "op": [
    "transfer",
    {
      "amount": "0.002 HIVE",
      "from": "crypto.piotr",
      "memo": "Also please allow me to invite you to visit our team recent posts shared on @project.hope. It's a steem community build around common passion towards blockchain, AI and technology in general. Perhaps you will find some topic worth your time and upvote :) So check us out on: www.steempeak.com/@project.hope (I hope you don't mind receiving those 2 memos; if you do then then please let me know).",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-10-22T09:59:00",
  "trx_id": "b5f1f5c267c7cbebdf64c7f3f86d03178f1aee57",
  "trx_in_block": 30,
  "virtual_op": false
}
2019/09/22 21:34:36
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
Transaction InfoBlock #36654990/Virtual Operation 4294967295:11
View Raw JSON Data
{
  "block": 36654990,
  "op": [
    "comment_payout_update",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development"
    }
  ],
  "op_in_trx": 11,
  "timestamp": "2019-09-22T21:34:36",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
2019/09/22 21:34:36
authorpmiklos
author rewards152
beneficiary payout value0.000 HBD
curator payout value0.030 HBD
payout0.062 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
total payout value0.031 HBD
Transaction InfoBlock #36654990/Virtual Operation 4294967295:10
View Raw JSON Data
{
  "block": 36654990,
  "op": [
    "comment_reward",
    {
      "author": "pmiklos",
      "author_rewards": 152,
      "beneficiary_payout_value": "0.000 HBD",
      "curator_payout_value": "0.030 HBD",
      "payout": "0.062 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "total_payout_value": "0.031 HBD"
    }
  ],
  "op_in_trx": 10,
  "timestamp": "2019-09-22T21:34:36",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
pmiklosreceived 0.076 HIVE, 0.093 HP author reward for @pmiklos / how-to-set-up-obyte-devnet-for-rapid-development
2019/09/22 21:34:36
authorpmiklos
curators vesting payout290.945327 VESTS
hbd payout0.000 HBD
hive payout0.076 HIVE
payout must be claimedtrue
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
vesting payout150.420713 VESTS
Transaction InfoBlock #36654990/Virtual Operation 4294967295:9
View Raw JSON Data
{
  "block": 36654990,
  "op": [
    "author_reward",
    {
      "author": "pmiklos",
      "curators_vesting_payout": "290.945327 VESTS",
      "hbd_payout": "0.000 HBD",
      "hive_payout": "0.076 HIVE",
      "payout_must_be_claimed": true,
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "vesting_payout": "150.420713 VESTS"
    }
  ],
  "op_in_trx": 9,
  "timestamp": "2019-09-22T21:34:36",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
dtubesent 0.001 HIVE to @pmiklos- "DTube Coin Round #1 is live! Visit https://token.d.tube for more information"
2019/09/20 22:26:42
amount0.001 HIVE
fromdtube
memoDTube Coin Round #1 is live! Visit https://token.d.tube for more information
topmiklos
Transaction InfoBlock #36598547/Trx 4efbc73b35edcda40d63a7962429c7165a607ab1
View Raw JSON Data
{
  "block": 36598547,
  "op": [
    "transfer",
    {
      "amount": "0.001 HIVE",
      "from": "dtube",
      "memo": "DTube Coin Round #1 is live! Visit https://token.d.tube for more information",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 27,
  "timestamp": "2019-09-20T22:26:42",
  "trx_id": "4efbc73b35edcda40d63a7962429c7165a607ab1",
  "trx_in_block": 5,
  "virtual_op": false
}
2019/09/17 13:05:57
authorjringo
curatorpmiklos
payout must be claimedtrue
permlinkgridcoin-in-2nd-place-after-the-first-day-of-the-wcg-thor-challenge-send-cycles-to-wcg
reward17.818775 VESTS
Transaction InfoBlock #36501136/Virtual Operation 4294967295:63
View Raw JSON Data
{
  "block": 36501136,
  "op": [
    "curation_reward",
    {
      "author": "jringo",
      "curator": "pmiklos",
      "payout_must_be_claimed": true,
      "permlink": "gridcoin-in-2nd-place-after-the-first-day-of-the-wcg-thor-challenge-send-cycles-to-wcg",
      "reward": "17.818775 VESTS"
    }
  ],
  "op_in_trx": 63,
  "timestamp": "2019-09-17T13:05:57",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
2019/09/16 12:41:45
authorpmiklos
pending payout0.064 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares193849285622
total vote weight138323
voterzuerich
weight92603
Transaction InfoBlock #36471913/Trx f85762096bd16f92abc8e2a43f7db33a5f17cf36
View Raw JSON Data
{
  "block": 36471913,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.064 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 193849285622,
      "total_vote_weight": 138323,
      "voter": "zuerich",
      "weight": 92603
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T12:41:45",
  "trx_id": "f85762096bd16f92abc8e2a43f7db33a5f17cf36",
  "trx_in_block": 16,
  "virtual_op": true
}
2019/09/16 12:41:45
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
voterzuerich
weight2000 (20.00%)
Transaction InfoBlock #36471913/Trx f85762096bd16f92abc8e2a43f7db33a5f17cf36
View Raw JSON Data
{
  "block": 36471913,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "zuerich",
      "weight": 2000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T12:41:45",
  "trx_id": "f85762096bd16f92abc8e2a43f7db33a5f17cf36",
  "trx_in_block": 16,
  "virtual_op": false
}
2019/09/16 06:41:51
authorpmiklos
pending payout0.020 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares29124855144
total vote weight45720
voterpapabyte
weight14279
Transaction InfoBlock #36464735/Trx 4d9db102dd5c48fef814ebeb13c2cd6a60d16c91
View Raw JSON Data
{
  "block": 36464735,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.020 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 29124855144,
      "total_vote_weight": 45720,
      "voter": "papabyte",
      "weight": 14279
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T06:41:51",
  "trx_id": "4d9db102dd5c48fef814ebeb13c2cd6a60d16c91",
  "trx_in_block": 9,
  "virtual_op": true
}
2019/09/16 06:41:51
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
voterpapabyte
weight10000 (100.00%)
Transaction InfoBlock #36464735/Trx 4d9db102dd5c48fef814ebeb13c2cd6a60d16c91
View Raw JSON Data
{
  "block": 36464735,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "papabyte",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T06:41:51",
  "trx_id": "4d9db102dd5c48fef814ebeb13c2cd6a60d16c91",
  "trx_in_block": 9,
  "virtual_op": false
}
2019/09/16 06:36:51
authorpmiklos
pending payout0.014 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares1169713960
total vote weight31441
votercryptkeeper
weight576 (5.76%)
Transaction InfoBlock #36464635/Trx c990af2af043ba3c7271ea6673749debdad404ac
View Raw JSON Data
{
  "block": 36464635,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.014 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 1169713960,
      "total_vote_weight": 31441,
      "voter": "cryptkeeper",
      "weight": 576
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T06:36:51",
  "trx_id": "c990af2af043ba3c7271ea6673749debdad404ac",
  "trx_in_block": 6,
  "virtual_op": true
}
2019/09/16 06:36:51
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
votercryptkeeper
weight10000 (100.00%)
Transaction InfoBlock #36464635/Trx c990af2af043ba3c7271ea6673749debdad404ac
View Raw JSON Data
{
  "block": 36464635,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "cryptkeeper",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T06:36:51",
  "trx_id": "c990af2af043ba3c7271ea6673749debdad404ac",
  "trx_in_block": 6,
  "virtual_op": false
}
2019/09/16 05:35:54
authorpmiklos
pending payout0.013 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares44275167547
total vote weight30865
votertipu.curator
weight21903
Transaction InfoBlock #36463419/Trx 8c9f5acf34cafc31ab7815292f005666576957bb
View Raw JSON Data
{
  "block": 36463419,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.013 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 44275167547,
      "total_vote_weight": 30865,
      "voter": "tipu.curator",
      "weight": 21903
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T05:35:54",
  "trx_id": "8c9f5acf34cafc31ab7815292f005666576957bb",
  "trx_in_block": 16,
  "virtual_op": true
}
2019/09/16 05:35:54
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
votertipu.curator
weight10000 (100.00%)
Transaction InfoBlock #36463419/Trx 8c9f5acf34cafc31ab7815292f005666576957bb
View Raw JSON Data
{
  "block": 36463419,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "tipu.curator",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T05:35:54",
  "trx_id": "8c9f5acf34cafc31ab7815292f005666576957bb",
  "trx_in_block": 16,
  "virtual_op": false
}
2019/09/16 05:35:54
authorpmiklos
pending payout0.003 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares1423710988
total vote weight8962
votercfminer
weight708 (7.08%)
Transaction InfoBlock #36463419/Trx cb72d0f1979490576a4b76689a85dee48ad85043
View Raw JSON Data
{
  "block": 36463419,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.003 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 1423710988,
      "total_vote_weight": 8962,
      "voter": "cfminer",
      "weight": 708
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T05:35:54",
  "trx_id": "cb72d0f1979490576a4b76689a85dee48ad85043",
  "trx_in_block": 15,
  "virtual_op": true
}
2019/09/16 05:35:54
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
votercfminer
weight10000 (100.00%)
Transaction InfoBlock #36463419/Trx cb72d0f1979490576a4b76689a85dee48ad85043
View Raw JSON Data
{
  "block": 36463419,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "cfminer",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T05:35:54",
  "trx_id": "cb72d0f1979490576a4b76689a85dee48ad85043",
  "trx_in_block": 15,
  "virtual_op": false
}
2019/09/16 05:35:54
authorpmiklos
pending payout0.003 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares285178605
total vote weight8254
votergameo
weight142 (1.42%)
Transaction InfoBlock #36463419/Trx ce41330d939b32e8e218875f0767c04988ae4765
View Raw JSON Data
{
  "block": 36463419,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.003 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 285178605,
      "total_vote_weight": 8254,
      "voter": "gameo",
      "weight": 142
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T05:35:54",
  "trx_id": "ce41330d939b32e8e218875f0767c04988ae4765",
  "trx_in_block": 14,
  "virtual_op": true
}
2019/09/16 05:35:54
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
votergameo
weight10000 (100.00%)
Transaction InfoBlock #36463419/Trx ce41330d939b32e8e218875f0767c04988ae4765
View Raw JSON Data
{
  "block": 36463419,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "gameo",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T05:35:54",
  "trx_id": "ce41330d939b32e8e218875f0767c04988ae4765",
  "trx_in_block": 14,
  "virtual_op": false
}
2019/09/16 05:35:51
authorpmiklos
pending payout0.003 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares13931249843
total vote weight8112
votercardboard
weight6942 (69.42%)
Transaction InfoBlock #36463418/Trx 198272ebe9dc0918e8e36af58b815f2c82788008
View Raw JSON Data
{
  "block": 36463418,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.003 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 13931249843,
      "total_vote_weight": 8112,
      "voter": "cardboard",
      "weight": 6942
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T05:35:51",
  "trx_id": "198272ebe9dc0918e8e36af58b815f2c82788008",
  "trx_in_block": 9,
  "virtual_op": true
}
2019/09/16 05:35:51
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
votercardboard
weight10000 (100.00%)
Transaction InfoBlock #36463418/Trx 198272ebe9dc0918e8e36af58b815f2c82788008
View Raw JSON Data
{
  "block": 36463418,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "cardboard",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T05:35:51",
  "trx_id": "198272ebe9dc0918e8e36af58b815f2c82788008",
  "trx_in_block": 9,
  "virtual_op": false
}
2019/09/16 04:37:42
authorpmiklos
pending payout0.000 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares557530565
total vote weight1170
voterlukie
weight279 (2.79%)
Transaction InfoBlock #36462256/Trx 5c0d5761bd3c9e95cbf4d4496f8303dbf28a8df5
View Raw JSON Data
{
  "block": 36462256,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 557530565,
      "total_vote_weight": 1170,
      "voter": "lukie",
      "weight": 279
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T04:37:42",
  "trx_id": "5c0d5761bd3c9e95cbf4d4496f8303dbf28a8df5",
  "trx_in_block": 1,
  "virtual_op": true
}
2019/09/16 04:37:42
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
voterlukie
weight10000 (100.00%)
Transaction InfoBlock #36462256/Trx 5c0d5761bd3c9e95cbf4d4496f8303dbf28a8df5
View Raw JSON Data
{
  "block": 36462256,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "lukie",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T04:37:42",
  "trx_id": "5c0d5761bd3c9e95cbf4d4496f8303dbf28a8df5",
  "trx_in_block": 1,
  "virtual_op": false
}
2019/09/16 04:11:21
authorpmiklos
body@@ -3721,20 +3721,19 @@ The -last command +%60.env%60 file con
json metadata{"tags":["obyte","decentraliziation","crypto","programming"],"image":["https://cdn.steemitimages.com/DQmSwQCJbeKHfoeyfg87CnrPSmqfhKSuBynM1nKLxDxGZkf/obyte-devnet.png"],"links":["https://github.com/pmiklos/obyte-devnet","http://localhost:8080/","https://github.com/byteball/oscript-editor-backend","https://github.com/byteball/oscript-editor","http://localhost:8081/","https://github.com/byteball/obyte-gui-wallet","https://cloud.docker.com/u/pmiklos/repository/docker/pmiklos/obyte-devnet-wallet","https://github.com/pmiklos/obyte-devnet/"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkobyte
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
titleHow to set up Obyte devnet for rapid development
Transaction InfoBlock #36461729/Trx e2091fa3a0f773e42d1a27e91840499a51042fc0
View Raw JSON Data
{
  "block": 36461729,
  "op": [
    "comment",
    {
      "author": "pmiklos",
      "body": "@@ -3721,20 +3721,19 @@\n The \n-last command\n+%60.env%60 file\n  con\n",
      "json_metadata": "{\"tags\":[\"obyte\",\"decentraliziation\",\"crypto\",\"programming\"],\"image\":[\"https://cdn.steemitimages.com/DQmSwQCJbeKHfoeyfg87CnrPSmqfhKSuBynM1nKLxDxGZkf/obyte-devnet.png\"],\"links\":[\"https://github.com/pmiklos/obyte-devnet\",\"http://localhost:8080/\",\"https://github.com/byteball/oscript-editor-backend\",\"https://github.com/byteball/oscript-editor\",\"http://localhost:8081/\",\"https://github.com/byteball/obyte-gui-wallet\",\"https://cloud.docker.com/u/pmiklos/repository/docker/pmiklos/obyte-devnet-wallet\",\"https://github.com/pmiklos/obyte-devnet/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "obyte",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "title": "How to set up Obyte devnet for rapid development"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T04:11:21",
  "trx_id": "e2091fa3a0f773e42d1a27e91840499a51042fc0",
  "trx_in_block": 38,
  "virtual_op": false
}
2019/09/16 01:21:21
authorpmiklos
pending payout0.000 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares150807758
total vote weight891
voterbyteball.market
weight75 (0.75%)
Transaction InfoBlock #36458337/Trx 4778af16e2ed9da3c3f9cf224ec162bc2718297e
View Raw JSON Data
{
  "block": 36458337,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 150807758,
      "total_vote_weight": 891,
      "voter": "byteball.market",
      "weight": 75
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-16T01:21:21",
  "trx_id": "4778af16e2ed9da3c3f9cf224ec162bc2718297e",
  "trx_in_block": 27,
  "virtual_op": true
}
2019/09/16 01:21:21
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
voterbyteball.market
weight10000 (100.00%)
Transaction InfoBlock #36458337/Trx 4778af16e2ed9da3c3f9cf224ec162bc2718297e
View Raw JSON Data
{
  "block": 36458337,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "byteball.market",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-16T01:21:21",
  "trx_id": "4778af16e2ed9da3c3f9cf224ec162bc2718297e",
  "trx_in_block": 27,
  "virtual_op": false
}
2019/09/15 22:03:48
authorpmiklos
pending payout0.000 HBD
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
rshares1635251435
total vote weight816
votertarmo888
weight816 (8.16%)
Transaction InfoBlock #36454392/Trx 7fabf87ce88fc2ff6eee20e9ceb99e6094c9a80a
View Raw JSON Data
{
  "block": 36454392,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "rshares": 1635251435,
      "total_vote_weight": 816,
      "voter": "tarmo888",
      "weight": 816
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-15T22:03:48",
  "trx_id": "7fabf87ce88fc2ff6eee20e9ceb99e6094c9a80a",
  "trx_in_block": 19,
  "virtual_op": true
}
2019/09/15 22:03:48
authorpmiklos
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
votertarmo888
weight10000 (100.00%)
Transaction InfoBlock #36454392/Trx 7fabf87ce88fc2ff6eee20e9ceb99e6094c9a80a
View Raw JSON Data
{
  "block": 36454392,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "voter": "tarmo888",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-15T22:03:48",
  "trx_id": "7fabf87ce88fc2ff6eee20e9ceb99e6094c9a80a",
  "trx_in_block": 19,
  "virtual_op": false
}
2019/09/15 21:34:39
authorpmiklos
body*Obyte devnet is a simplified and sped up version of the Obyte cryptocurrency network ideal for developing Autonomous Agents and bots. This tutorial focuses on setting up devnet on a local machine for developing Autonomous Agents* ![obyte-devnet.png](https://cdn.steemitimages.com/DQmSwQCJbeKHfoeyfg87CnrPSmqfhKSuBynM1nKLxDxGZkf/obyte-devnet.png) Developing cryptocurrency applications and smart contracts is typically time consuming task due to the long confirmation times of transactions posted on testnets or mainnets. Obyte is among the fastest cryptocurrencies when it comes to the time required for global consensus, it's about 10 minutes at the time of writing this article, still when you have to develop a program that posts transactions on the ledger, waiting for confirmations every time you want to test a single transaction is really only for very very patient people. # Obyte devnet [Obyte devnet](https://github.com/pmiklos/obyte-devnet) started as a separate project but some of its concepts has been integrated into the Obyte core libraries since the addition of the Autonomous Agents. The main idea is to be able to run a complete Obyte network on a single development machine with fast confirmation times. To achieve that, the devnet has only one witness instead of 12 and one hub to which wallets can connect to. The witness posts every minute and since there is only one, it immediately makes earlier transaction stable. Let's jump right into it how to set it up. We are going to install the followings: * Obyte devnet * Oscript backend * Oscript frontend * Obyte devnet GUI wallet System requirements: * git - to fetch devnet and Oscript source code * npm - to run devnet * yarn - to run Oscript backend and frontend * Linux - the devnet init script is a simple bash script but it should be fairly easy to manually execute the steps on other operating systems. * docker - if you chose to run the GUI wallet in docker # Installing devnet First get the source code and check out the `aa` branch. The `aa` branch contains the latest features for autonomous agent development. ``` git clone https://github.com/pmiklos/obyte-devnet.git cd obyte-devnet git checkout aa ``` Next, install and configure devnet. Start with fetching nodejs dependencies: ``` npm install ``` Then run the init script which copies the pre-generated configuration files for the devnet witness including the keys of the witness to make the devnet more predictable eg. the witness address and pairing code will always be the same. Next generate the genesis unit and the first asset, the blackbytes. Creating the blackbytes asset is optional, but it doesn't hurt to have it. The genesis and blackbytes steps ask for password, simply press an Enter. There is an empty password set for the devnet witness. ``` npm run init npm run genesis npm run blackbytes ``` At this point the devnet hub and witness are configured and ready to be launched. Start the hub: ``` npm run hub ``` Then open a new console and start the witness (press Enter when it asks for password): ``` npm run witness ``` You can now open a browser and go to http://localhost:8080/ to see the Obyte devnet DAG explorer. New units should be posted by the witness every minute. # Installing Oscript editor Oscript editor is recommended to install if you work with Autonomous Agents since it makes authoring agents a lot easier by providing syntax highlighting and code completion, validation and deployment. Open another console and install the [Oscript backend](https://github.com/byteball/oscript-editor-backend) ``` git clone https://github.com/byteball/oscript-editor-backend.git cd oscript-editor-backend echo "devnet=1" > .env yarn install ``` The last command configures the Oscript backend for devnet. You can start the Oscript backend with ``` yarn start ``` Now that the backend is running, let's install the [Oscript frontend](https://github.com/byteball/oscript-editor) which will provide you with a web based editor to develop Autonomous Agents in Oscript language. ``` git clone https://github.com/byteball/oscript-editor.git cd oscript-editor yarn ``` Run the Oscript editor in development mode: ``` yarn run serve ``` It is going to print the URL where the editor is available, but most likely it will be http://localhost:8081/ if you have the devnet explorer already running on port 8080. At this point you are ready to develop Obyte Autonomous Agents and deploy them on your local devnet. # Installing devnet GUI wallet the hard way So we have the whole Obyte infrastructure running on our laptops, but one thing is missing: the Obyte GUI wallet to access and use the devnet. You can build the testnet wallet from source by following the instructions on the [obyte-gui-wallet](https://github.com/byteball/obyte-gui-wallet) readme section. To build the wallet with Autonomous Agents support, you will have to use the `aa` branch. ``` git clone https://github.com/byteball/obyte-gui-wallet.git cd obyte-gui-wallet git checkout aa echo "devnet=1" > .env ``` and then follow the steps in the readme. Tip: use the same NW.js and Nodejs versions as recommended in the guide to avoid unnecessary problems. # Installing devnet GUI wallet the easy way If you are familiar with docker, there is an simpler way to run the devnet wallet. It has the advantage of easily creating as many throwaway wallets you need for testing. You can build your own image or simply download a prebuilt one from docker hub at [pmiklos/obyte-devnet-wallet](https://cloud.docker.com/u/pmiklos/repository/docker/pmiklos/obyte-devnet-wallet). Let's use the prebuilt image: ``` docker run -d --rm \ --name obyte-devnet-wallet \ --network=host \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v obyte-devnet-wallet-data:/obyte \ pmiklos/obyte-devnet-wallet:2.7.2-aa ``` That's it. The above command should launch the GUI wallet for the devnet. I recommend to create a script or a bash alias for the above command to make it easy to launch the devnet wallet. I, for example, use the following bash function to easily create new devnet wallets: ``` function obyte-devnet-wallet() { local name="${1:-default}" docker run -d --rm --name obyte-devnet-wallet-$name --network=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v obyte-devnet-wallet-$name-data:/obyte pmiklos/obyte-devnet-wallet:2.7.2-aa } ``` Then launching a devnet wallet is as simple as: ``` obyte-devnet-wallet mylittlewallet ``` # Final tips **Funding the GUI wallet** In devnet, the witness holds all the funds initially. You can distribute those funds to any address by using the RPC interface of the witness exposed on port 6612: ``` $ curl --data '{"jsonrpc":"2.0", "id":1, "method":"sendtoaddress", "params":["7AAUNXYL3G5RB73TKQPCPGC6FLRM2G6", 12345678] }' http://127.0.0.1:6612 ``` See more info in [obyte-devnet](https://github.com/pmiklos/obyte-devnet/) GitHub page (check the `aa` branch for the latest development version). **Start a clean state** Occasionally you want to destroy the whole devnet state and start with a clean DAG. You can easily do that by removing the witness and hub configuration folders and re-running the initialization, genesis creation and blackbytes asset definition steps. On Linux, it would be (stop the witness and hub first): ``` rm -rf ~/.config/obyte-devnet-* npm run init npm run genesis ... ```
json metadata{"tags":["obyte","decentraliziation","crypto","programming"],"image":["https://cdn.steemitimages.com/DQmSwQCJbeKHfoeyfg87CnrPSmqfhKSuBynM1nKLxDxGZkf/obyte-devnet.png"],"links":["https://github.com/pmiklos/obyte-devnet","http://localhost:8080/","https://github.com/byteball/oscript-editor-backend","https://github.com/byteball/oscript-editor","http://localhost:8081/","https://github.com/byteball/obyte-gui-wallet","https://cloud.docker.com/u/pmiklos/repository/docker/pmiklos/obyte-devnet-wallet","https://github.com/pmiklos/obyte-devnet/"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkobyte
permlinkhow-to-set-up-obyte-devnet-for-rapid-development
titleHow to set up Obyte devnet for rapid development
Transaction InfoBlock #36453811/Trx d59b84a35ad12091128a50ec117503d7dd370b3e
View Raw JSON Data
{
  "block": 36453811,
  "op": [
    "comment",
    {
      "author": "pmiklos",
      "body": "*Obyte devnet is a simplified and sped up version of the Obyte cryptocurrency network ideal for developing Autonomous Agents and bots. This tutorial focuses on setting up devnet on a local machine for developing  Autonomous Agents*\n\n![obyte-devnet.png](https://cdn.steemitimages.com/DQmSwQCJbeKHfoeyfg87CnrPSmqfhKSuBynM1nKLxDxGZkf/obyte-devnet.png)\n\nDeveloping cryptocurrency applications and smart contracts is typically time consuming task due to the long confirmation times of transactions posted on testnets or mainnets. Obyte is among the fastest cryptocurrencies when it comes to the time required for global consensus, it's about 10 minutes at the time of writing this article, still when you have to develop a program that posts transactions on the ledger, waiting for confirmations every time you want to test a single transaction is really only for very very patient people. \n\n# Obyte devnet\n[Obyte devnet](https://github.com/pmiklos/obyte-devnet) started as a separate project but some of its concepts has been integrated into the Obyte core libraries since the addition of the Autonomous Agents. The main idea is to be able to run a complete Obyte network on a single development machine with fast confirmation times. To achieve that, the devnet has only one witness instead of 12 and one hub to which wallets can connect to. The witness posts every minute and since there is only one, it immediately makes earlier transaction stable.\n\nLet's jump right into it how to set it up.\n\nWe are going to install the followings:\n* Obyte devnet\n* Oscript backend\n* Oscript frontend\n* Obyte devnet GUI wallet\n \nSystem requirements:\n* git - to fetch devnet and Oscript source code\n* npm - to run devnet\n* yarn - to run Oscript backend and frontend \n* Linux - the devnet init script is a simple bash script but it should be fairly easy to manually execute the steps on other operating systems.\n* docker - if you chose to run the GUI wallet in docker\n\n# Installing devnet\nFirst get the source code and check out the `aa` branch. The `aa` branch contains the latest features for autonomous agent development. \n```\ngit clone https://github.com/pmiklos/obyte-devnet.git\ncd obyte-devnet\ngit checkout aa\n```\nNext, install and configure devnet. Start with fetching nodejs dependencies:\n```\nnpm install\n``` \nThen run the init script which copies the pre-generated configuration files for the devnet witness including the keys of the witness to make the devnet more predictable eg. the witness address and pairing code will always be the same. Next generate the genesis unit and the first asset, the blackbytes. Creating the blackbytes asset is optional, but it doesn't hurt to have it.\n\nThe genesis and blackbytes steps ask for password, simply press an Enter. There is an empty password set for the devnet witness.\n```\nnpm run init\nnpm run genesis\nnpm run blackbytes\n```\nAt this point the devnet hub and witness are configured and ready to be launched. Start the hub:\n```\nnpm run hub\n```\nThen open a new console and start the witness (press Enter when it asks for password):\n```\nnpm run witness\n```\n\nYou can now open a browser and go to http://localhost:8080/ to see the Obyte devnet DAG explorer. New units should be posted by the witness every minute.\n\n# Installing Oscript editor\nOscript editor is recommended to install if you work with Autonomous Agents since it makes authoring agents a lot easier by providing syntax highlighting and code completion, validation and deployment.\n\nOpen another console and install the [Oscript backend](https://github.com/byteball/oscript-editor-backend)\n```\ngit clone https://github.com/byteball/oscript-editor-backend.git\ncd oscript-editor-backend\necho \"devnet=1\" > .env\nyarn install\n```\nThe last command configures the Oscript backend for devnet. You can start the Oscript backend with\n```\nyarn start\n```\nNow that the backend is running, let's install the [Oscript frontend](https://github.com/byteball/oscript-editor) which will provide you with a web based editor to develop Autonomous Agents in Oscript language.\n ```\ngit clone https://github.com/byteball/oscript-editor.git\ncd oscript-editor\nyarn\n```\nRun the Oscript editor in development mode:\n```\nyarn run serve\n```\nIt is going to print the URL where the editor is available, but most likely it will be  http://localhost:8081/ if you have the devnet explorer already running on port 8080.\n\nAt this point you are ready to develop Obyte Autonomous Agents and deploy them on your local devnet. \n\n# Installing devnet GUI wallet the hard way\nSo we have the whole Obyte infrastructure running on our laptops, but one thing is missing: the Obyte GUI wallet to access and use the devnet. You can build the testnet wallet from source by following the instructions on the [obyte-gui-wallet](https://github.com/byteball/obyte-gui-wallet) readme section. To build the wallet with Autonomous Agents support, you will have to use the `aa` branch.\n```\ngit clone https://github.com/byteball/obyte-gui-wallet.git\ncd obyte-gui-wallet\ngit checkout aa\necho \"devnet=1\" > .env\n```\nand then follow the steps in the readme. Tip: use the same NW.js and Nodejs versions as recommended in the guide to avoid unnecessary problems.\n\n# Installing devnet GUI wallet the easy way\nIf you are familiar with docker, there is an simpler way to run the devnet wallet. It has the advantage of easily creating as many throwaway wallets you need for testing. You can build your own image or simply download a prebuilt one from docker hub at [pmiklos/obyte-devnet-wallet](https://cloud.docker.com/u/pmiklos/repository/docker/pmiklos/obyte-devnet-wallet). Let's use the prebuilt image:\n\n```\ndocker run -d --rm \\\n    --name obyte-devnet-wallet \\\n    --network=host \\\n    -e DISPLAY=$DISPLAY \\\n    -v /tmp/.X11-unix:/tmp/.X11-unix \\\n    -v obyte-devnet-wallet-data:/obyte \\\n    pmiklos/obyte-devnet-wallet:2.7.2-aa\n```\nThat's it. The above command should launch the GUI wallet for the devnet. I recommend to create a script or a bash alias for the above command to make it easy to launch the devnet wallet. I, for example, use the following bash function to easily create new devnet wallets:\n\n```\nfunction obyte-devnet-wallet() {\n        local name=\"${1:-default}\"\n        docker run -d --rm --name obyte-devnet-wallet-$name --network=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v obyte-devnet-wallet-$name-data:/obyte pmiklos/obyte-devnet-wallet:2.7.2-aa\n}\n```\nThen launching a devnet wallet is as simple as:\n```\nobyte-devnet-wallet mylittlewallet\n```\n\n# Final tips\n**Funding the GUI wallet**\nIn devnet, the witness holds all the funds initially. You can distribute those funds to any address by using the RPC interface of the witness exposed on port 6612:\n\n```\n$ curl --data '{\"jsonrpc\":\"2.0\", \"id\":1, \"method\":\"sendtoaddress\", \"params\":[\"7AAUNXYL3G5RB73TKQPCPGC6FLRM2G6\", 12345678] }' http://127.0.0.1:6612\n```\nSee more info in [obyte-devnet](https://github.com/pmiklos/obyte-devnet/) GitHub page (check the `aa` branch for the latest development version).\n\n**Start a clean state**\nOccasionally you want to destroy the whole devnet state and start with a clean DAG. You can  easily do that by removing the witness and hub configuration folders and re-running the initialization, genesis creation and blackbytes asset definition steps. On Linux, it would be (stop the witness and hub first):\n```\nrm -rf ~/.config/obyte-devnet-*\nnpm run init\nnpm run genesis\n...\n```",
      "json_metadata": "{\"tags\":[\"obyte\",\"decentraliziation\",\"crypto\",\"programming\"],\"image\":[\"https://cdn.steemitimages.com/DQmSwQCJbeKHfoeyfg87CnrPSmqfhKSuBynM1nKLxDxGZkf/obyte-devnet.png\"],\"links\":[\"https://github.com/pmiklos/obyte-devnet\",\"http://localhost:8080/\",\"https://github.com/byteball/oscript-editor-backend\",\"https://github.com/byteball/oscript-editor\",\"http://localhost:8081/\",\"https://github.com/byteball/obyte-gui-wallet\",\"https://cloud.docker.com/u/pmiklos/repository/docker/pmiklos/obyte-devnet-wallet\",\"https://github.com/pmiklos/obyte-devnet/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "obyte",
      "permlink": "how-to-set-up-obyte-devnet-for-rapid-development",
      "title": "How to set up Obyte devnet for rapid development"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-15T21:34:39",
  "trx_id": "d59b84a35ad12091128a50ec117503d7dd370b3e",
  "trx_in_block": 24,
  "virtual_op": false
}
2019/09/11 02:27:57
authorjringo
pending payout1.402 HBD
permlinkgridcoin-in-2nd-place-after-the-first-day-of-the-wcg-thor-challenge-send-cycles-to-wcg
rshares20513903369
total vote weight1453868
voterpmiklos
weight4381 (43.81%)
Transaction InfoBlock #36316036/Trx 898a16836b8123fae4bdc509600ed234c6254b42
View Raw JSON Data
{
  "block": 36316036,
  "op": [
    "effective_comment_vote",
    {
      "author": "jringo",
      "pending_payout": "1.402 HBD",
      "permlink": "gridcoin-in-2nd-place-after-the-first-day-of-the-wcg-thor-challenge-send-cycles-to-wcg",
      "rshares": 20513903369,
      "total_vote_weight": 1453868,
      "voter": "pmiklos",
      "weight": 4381
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-09-11T02:27:57",
  "trx_id": "898a16836b8123fae4bdc509600ed234c6254b42",
  "trx_in_block": 12,
  "virtual_op": true
}
2019/09/11 02:27:57
authorjringo
permlinkgridcoin-in-2nd-place-after-the-first-day-of-the-wcg-thor-challenge-send-cycles-to-wcg
voterpmiklos
weight10000 (100.00%)
Transaction InfoBlock #36316036/Trx 898a16836b8123fae4bdc509600ed234c6254b42
View Raw JSON Data
{
  "block": 36316036,
  "op": [
    "vote",
    {
      "author": "jringo",
      "permlink": "gridcoin-in-2nd-place-after-the-first-day-of-the-wcg-thor-challenge-send-cycles-to-wcg",
      "voter": "pmiklos",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-11T02:27:57",
  "trx_id": "898a16836b8123fae4bdc509600ed234c6254b42",
  "trx_in_block": 12,
  "virtual_op": false
}
dtubesent 0.001 HIVE to @pmiklos- "Final call to claim your DTube account! It takes only 5 minutes. Go now to https://d.tube"
2019/09/03 16:54:03
amount0.001 HIVE
fromdtube
memoFinal call to claim your DTube account! It takes only 5 minutes. Go now to https://d.tube
topmiklos
Transaction InfoBlock #36103993/Trx 7a2dd43d2a86ae9b5c1c7c10e5ec043b73913a8e
View Raw JSON Data
{
  "block": 36103993,
  "op": [
    "transfer",
    {
      "amount": "0.001 HIVE",
      "from": "dtube",
      "memo": "Final call to claim your DTube account! It takes only 5 minutes. Go now to https://d.tube",
      "to": "pmiklos"
    }
  ],
  "op_in_trx": 39,
  "timestamp": "2019-09-03T16:54:03",
  "trx_id": "7a2dd43d2a86ae9b5c1c7c10e5ec043b73913a8e",
  "trx_in_block": 5,
  "virtual_op": false
}
2019/09/01 09:17:45
authorpmiklos
permlinkstateful-autonomous-agents
voterrobinsonwnh
weight10000 (100.00%)
Transaction InfoBlock #36053338/Trx 2d5e80743c7d20d34fb59d6af6fb88c5a3b30bc2
View Raw JSON Data
{
  "block": 36053338,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "robinsonwnh",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-01T09:17:45",
  "trx_id": "2d5e80743c7d20d34fb59d6af6fb88c5a3b30bc2",
  "trx_in_block": 26,
  "virtual_op": false
}
2019/08/24 16:18:09
authorpmiklos
permlinkgetting-started-with-obyte-autonomous-agents
voterrobinsonwnh
weight10000 (100.00%)
Transaction InfoBlock #35837087/Trx 22934fd04eed3c8ebe3d2699c3e1d1ffd80309ac
View Raw JSON Data
{
  "block": 35837087,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "getting-started-with-obyte-autonomous-agents",
      "voter": "robinsonwnh",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-24T16:18:09",
  "trx_id": "22934fd04eed3c8ebe3d2699c3e1d1ffd80309ac",
  "trx_in_block": 2,
  "virtual_op": false
}
2019/08/24 13:52:09
authorpmiklos
permlinkstateful-autonomous-agents
voterangr
weight10000 (100.00%)
Transaction InfoBlock #35834169/Trx 6f1f5e90b8fd6fccfe3f0ed01a070fba2512b1bf
View Raw JSON Data
{
  "block": 35834169,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "angr",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-24T13:52:09",
  "trx_id": "6f1f5e90b8fd6fccfe3f0ed01a070fba2512b1bf",
  "trx_in_block": 26,
  "virtual_op": false
}
2019/08/24 13:50:48
authorpmiklos
permlinkgetting-started-with-obyte-autonomous-agents
voterangr
weight10000 (100.00%)
Transaction InfoBlock #35834142/Trx 4d539768b627bbfc829a326370e543c808eb4cb8
View Raw JSON Data
{
  "block": 35834142,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "getting-started-with-obyte-autonomous-agents",
      "voter": "angr",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-24T13:50:48",
  "trx_id": "4d539768b627bbfc829a326370e543c808eb4cb8",
  "trx_in_block": 22,
  "virtual_op": false
}
2019/08/22 05:37:03
authorpmiklos
permlinkstateful-autonomous-agents
Transaction InfoBlock #35766772/Virtual Operation 4294967295:17
View Raw JSON Data
{
  "block": 35766772,
  "op": [
    "comment_payout_update",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents"
    }
  ],
  "op_in_trx": 17,
  "timestamp": "2019-08-22T05:37:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
pmiklosreceived 0.080 HBD reward share for stateful-autonomous-agents
2019/08/22 05:37:03
authorpmiklos
author rewards288
beneficiary payout value0.000 HBD
curator payout value0.019 HBD
payout0.080 HBD
permlinkstateful-autonomous-agents
total payout value0.061 HBD
Transaction InfoBlock #35766772/Virtual Operation 4294967295:16
View Raw JSON Data
{
  "block": 35766772,
  "op": [
    "comment_reward",
    {
      "author": "pmiklos",
      "author_rewards": 288,
      "beneficiary_payout_value": "0.000 HBD",
      "curator_payout_value": "0.019 HBD",
      "payout": "0.080 HBD",
      "permlink": "stateful-autonomous-agents",
      "total_payout_value": "0.061 HBD"
    }
  ],
  "op_in_trx": 16,
  "timestamp": "2019-08-22T05:37:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
pmiklosreceived 0.143 HIVE, 0.176 HP author reward for @pmiklos / stateful-autonomous-agents
2019/08/22 05:37:03
authorpmiklos
curators vesting payout176.484096 VESTS
hbd payout0.000 HBD
hive payout0.143 HIVE
payout must be claimedtrue
permlinkstateful-autonomous-agents
vesting payout285.547302 VESTS
Transaction InfoBlock #35766772/Virtual Operation 4294967295:15
View Raw JSON Data
{
  "block": 35766772,
  "op": [
    "author_reward",
    {
      "author": "pmiklos",
      "curators_vesting_payout": "176.484096 VESTS",
      "hbd_payout": "0.000 HBD",
      "hive_payout": "0.143 HIVE",
      "payout_must_be_claimed": true,
      "permlink": "stateful-autonomous-agents",
      "vesting_payout": "285.547302 VESTS"
    }
  ],
  "op_in_trx": 15,
  "timestamp": "2019-08-22T05:37:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
2019/08/21 17:02:48
authorwhoisterencelee
curatorpmiklos
payout must be claimedtrue
permlinkoaaaaa-obyte-autonomous-autonomous-agent-address-agent-is-working
reward5.949093 VESTS
Transaction InfoBlock #35751707/Virtual Operation 4294967295:7
View Raw JSON Data
{
  "block": 35751707,
  "op": [
    "curation_reward",
    {
      "author": "whoisterencelee",
      "curator": "pmiklos",
      "payout_must_be_claimed": true,
      "permlink": "oaaaaa-obyte-autonomous-autonomous-agent-address-agent-is-working",
      "reward": "5.949093 VESTS"
    }
  ],
  "op_in_trx": 7,
  "timestamp": "2019-08-21T17:02:48",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
2019/08/20 17:21:36
authorpmiklos
pending payout0.082 HBD
permlinkstateful-autonomous-agents
rshares1328178712
total vote weight493260
voterandreasgrubhofer
weight1267 (12.67%)
Transaction InfoBlock #35723333/Trx 4555f74d037bec6212abf69aa14c4c1991121110
View Raw JSON Data
{
  "block": 35723333,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.082 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 1328178712,
      "total_vote_weight": 493260,
      "voter": "andreasgrubhofer",
      "weight": 1267
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-20T17:21:36",
  "trx_id": "4555f74d037bec6212abf69aa14c4c1991121110",
  "trx_in_block": 34,
  "virtual_op": true
}
2019/08/20 17:21:36
authorpmiklos
permlinkstateful-autonomous-agents
voterandreasgrubhofer
weight100 (1.00%)
Transaction InfoBlock #35723333/Trx 4555f74d037bec6212abf69aa14c4c1991121110
View Raw JSON Data
{
  "block": 35723333,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "andreasgrubhofer",
      "weight": 100
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-20T17:21:36",
  "trx_id": "4555f74d037bec6212abf69aa14c4c1991121110",
  "trx_in_block": 34,
  "virtual_op": false
}
dakeshieffective vote applied for @pmiklos / stateful-autonomous-agents
2019/08/20 01:51:39
authorpmiklos
pending payout0.081 HBD
permlinkstateful-autonomous-agents
rshares23053865086
total vote weight491993
voterdakeshi
weight21986
Transaction InfoBlock #35704761/Trx 41c6864c1da710f15282381e2da97a23283c38e9
View Raw JSON Data
{
  "block": 35704761,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.081 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 23053865086,
      "total_vote_weight": 491993,
      "voter": "dakeshi",
      "weight": 21986
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-20T01:51:39",
  "trx_id": "41c6864c1da710f15282381e2da97a23283c38e9",
  "trx_in_block": 12,
  "virtual_op": true
}
2019/08/20 01:51:39
authorpmiklos
permlinkstateful-autonomous-agents
voterdakeshi
weight10000 (100.00%)
Transaction InfoBlock #35704761/Trx 41c6864c1da710f15282381e2da97a23283c38e9
View Raw JSON Data
{
  "block": 35704761,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "dakeshi",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-20T01:51:39",
  "trx_id": "41c6864c1da710f15282381e2da97a23283c38e9",
  "trx_in_block": 12,
  "virtual_op": false
}
tarmo888effective vote applied for @pmiklos / stateful-autonomous-agents
2019/08/18 03:08:42
authorpmiklos
pending payout0.074 HBD
permlinkstateful-autonomous-agents
rshares1635251435
total vote weight470007
votertarmo888
weight1559 (15.59%)
Transaction InfoBlock #35648807/Trx fd186984f71f7b89a84ce27b946202278388df71
View Raw JSON Data
{
  "block": 35648807,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.074 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 1635251435,
      "total_vote_weight": 470007,
      "voter": "tarmo888",
      "weight": 1559
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-18T03:08:42",
  "trx_id": "fd186984f71f7b89a84ce27b946202278388df71",
  "trx_in_block": 6,
  "virtual_op": true
}
2019/08/18 03:08:42
authorpmiklos
permlinkstateful-autonomous-agents
votertarmo888
weight10000 (100.00%)
Transaction InfoBlock #35648807/Trx fd186984f71f7b89a84ce27b946202278388df71
View Raw JSON Data
{
  "block": 35648807,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "tarmo888",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-18T03:08:42",
  "trx_id": "fd186984f71f7b89a84ce27b946202278388df71",
  "trx_in_block": 6,
  "virtual_op": false
}
2019/08/15 09:24:03
authorsteemitboard
bodyCongratulations @pmiklos! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : <table><tr><td><img src="https://steemitimages.com/60x70/http://steemitboard.com/@pmiklos/voted.png?201908150832"></td><td>You received more than 50 upvotes. Your next target is to reach 100 upvotes.</td></tr> </table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@pmiklos) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=pmiklos)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorpmiklos
parent permlinkstateful-autonomous-agents
permlinksteemitboard-notify-pmiklos-20190815t092402000z
title
Transaction InfoBlock #35570048/Trx bb50e6507524c44cbdb860041e7c858ba659cf38
View Raw JSON Data
{
  "block": 35570048,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @pmiklos! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :\n\n<table><tr><td><img src=\"https://steemitimages.com/60x70/http://steemitboard.com/@pmiklos/voted.png?201908150832\"></td><td>You received more than 50 upvotes. Your next target is to reach 100 upvotes.</td></tr>\n</table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@pmiklos) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=pmiklos)_</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "pmiklos",
      "parent_permlink": "stateful-autonomous-agents",
      "permlink": "steemitboard-notify-pmiklos-20190815t092402000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T09:24:03",
  "trx_id": "bb50e6507524c44cbdb860041e7c858ba659cf38",
  "trx_in_block": 18,
  "virtual_op": false
}
fabieneffective vote applied for @pmiklos / stateful-autonomous-agents
2019/08/15 07:48:00
authorpmiklos
pending payout0.073 HBD
permlinkstateful-autonomous-agents
rshares184476687508
total vote weight468448
voterfabien
weight281418
Transaction InfoBlock #35568128/Trx 1add9006bacd5a4f807ffb0654b8beef258d406a
View Raw JSON Data
{
  "block": 35568128,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.073 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 184476687508,
      "total_vote_weight": 468448,
      "voter": "fabien",
      "weight": 281418
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T07:48:00",
  "trx_id": "1add9006bacd5a4f807ffb0654b8beef258d406a",
  "trx_in_block": 13,
  "virtual_op": true
}
2019/08/15 07:48:00
authorpmiklos
permlinkstateful-autonomous-agents
voterfabien
weight10000 (100.00%)
Transaction InfoBlock #35568128/Trx 1add9006bacd5a4f807ffb0654b8beef258d406a
View Raw JSON Data
{
  "block": 35568128,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "fabien",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T07:48:00",
  "trx_id": "1add9006bacd5a4f807ffb0654b8beef258d406a",
  "trx_in_block": 13,
  "virtual_op": false
}
papabyteeffective vote applied for @pmiklos / stateful-autonomous-agents
2019/08/15 06:59:06
authorpmiklos
pending payout0.010 HBD
permlinkstateful-autonomous-agents
rshares29124855144
total vote weight187030
voterpapabyte
weight133479
Transaction InfoBlock #35567152/Trx 28fced7dcec2fcf097621148b42d7e9901964305
View Raw JSON Data
{
  "block": 35567152,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.010 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 29124855144,
      "total_vote_weight": 187030,
      "voter": "papabyte",
      "weight": 133479
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T06:59:06",
  "trx_id": "28fced7dcec2fcf097621148b42d7e9901964305",
  "trx_in_block": 19,
  "virtual_op": true
}
2019/08/15 06:59:06
authorpmiklos
permlinkstateful-autonomous-agents
voterpapabyte
weight10000 (100.00%)
Transaction InfoBlock #35567152/Trx 28fced7dcec2fcf097621148b42d7e9901964305
View Raw JSON Data
{
  "block": 35567152,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "papabyte",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T06:59:06",
  "trx_id": "28fced7dcec2fcf097621148b42d7e9901964305",
  "trx_in_block": 19,
  "virtual_op": false
}
filipinoeffective vote applied for @pmiklos / stateful-autonomous-agents
2019/08/15 06:31:30
authorpmiklos
pending payout0.000 HBD
permlinkstateful-autonomous-agents
rshares1061712835
total vote weight53551
voterfilipino
weight11801
Transaction InfoBlock #35566602/Trx a90e937eaa9fe572ba34a10988570332f71341a3
View Raw JSON Data
{
  "block": 35566602,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 1061712835,
      "total_vote_weight": 53551,
      "voter": "filipino",
      "weight": 11801
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T06:31:30",
  "trx_id": "a90e937eaa9fe572ba34a10988570332f71341a3",
  "trx_in_block": 3,
  "virtual_op": true
}
2019/08/15 06:31:30
authorpmiklos
permlinkstateful-autonomous-agents
voterfilipino
weight1000 (10.00%)
Transaction InfoBlock #35566602/Trx a90e937eaa9fe572ba34a10988570332f71341a3
View Raw JSON Data
{
  "block": 35566602,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "filipino",
      "weight": 1000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T06:31:30",
  "trx_id": "a90e937eaa9fe572ba34a10988570332f71341a3",
  "trx_in_block": 3,
  "virtual_op": false
}
cryptkeepereffective vote applied for @pmiklos / stateful-autonomous-agents
2019/08/15 06:30:27
authorpmiklos
pending payout0.000 HBD
permlinkstateful-autonomous-agents
rshares1145345092
total vote weight41750
votercryptkeeper
weight17779
Transaction InfoBlock #35566582/Trx c5c2784ed74175cbef6149741f4cf0510d1e9794
View Raw JSON Data
{
  "block": 35566582,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 1145345092,
      "total_vote_weight": 41750,
      "voter": "cryptkeeper",
      "weight": 17779
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T06:30:27",
  "trx_id": "c5c2784ed74175cbef6149741f4cf0510d1e9794",
  "trx_in_block": 21,
  "virtual_op": true
}
2019/08/15 06:30:27
authorpmiklos
permlinkstateful-autonomous-agents
votercryptkeeper
weight10000 (100.00%)
Transaction InfoBlock #35566582/Trx c5c2784ed74175cbef6149741f4cf0510d1e9794
View Raw JSON Data
{
  "block": 35566582,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "cryptkeeper",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T06:30:27",
  "trx_id": "c5c2784ed74175cbef6149741f4cf0510d1e9794",
  "trx_in_block": 21,
  "virtual_op": false
}
2019/08/15 05:58:00
authorpmiklos
pending payout0.000 HBD
permlinkstateful-autonomous-agents
rshares150807758
total vote weight23971
voterbyteball.market
weight4602 (46.02%)
Transaction InfoBlock #35565934/Trx 90a2864c70bd83a507266334e68f7bcba46c1302
View Raw JSON Data
{
  "block": 35565934,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 150807758,
      "total_vote_weight": 23971,
      "voter": "byteball.market",
      "weight": 4602
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T05:58:00",
  "trx_id": "90a2864c70bd83a507266334e68f7bcba46c1302",
  "trx_in_block": 3,
  "virtual_op": true
}
2019/08/15 05:58:00
authorpmiklos
permlinkstateful-autonomous-agents
voterbyteball.market
weight10000 (100.00%)
Transaction InfoBlock #35565934/Trx 90a2864c70bd83a507266334e68f7bcba46c1302
View Raw JSON Data
{
  "block": 35565934,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "byteball.market",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T05:58:00",
  "trx_id": "90a2864c70bd83a507266334e68f7bcba46c1302",
  "trx_in_block": 3,
  "virtual_op": false
}
2019/08/15 05:57:36
authorwhoisterencelee
pending payout0.075 HBD
permlinkoaaaaa-obyte-autonomous-autonomous-agent-address-agent-is-working
rshares20513903369
total vote weight475752
voterpmiklos
weight19563
Transaction InfoBlock #35565926/Trx 7d9c551710accc17dae2d3e1966f2f2e9492856d
View Raw JSON Data
{
  "block": 35565926,
  "op": [
    "effective_comment_vote",
    {
      "author": "whoisterencelee",
      "pending_payout": "0.075 HBD",
      "permlink": "oaaaaa-obyte-autonomous-autonomous-agent-address-agent-is-working",
      "rshares": 20513903369,
      "total_vote_weight": 475752,
      "voter": "pmiklos",
      "weight": 19563
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T05:57:36",
  "trx_id": "7d9c551710accc17dae2d3e1966f2f2e9492856d",
  "trx_in_block": 0,
  "virtual_op": true
}
2019/08/15 05:57:36
authorwhoisterencelee
permlinkoaaaaa-obyte-autonomous-autonomous-agent-address-agent-is-working
voterpmiklos
weight10000 (100.00%)
Transaction InfoBlock #35565926/Trx 7d9c551710accc17dae2d3e1966f2f2e9492856d
View Raw JSON Data
{
  "block": 35565926,
  "op": [
    "vote",
    {
      "author": "whoisterencelee",
      "permlink": "oaaaaa-obyte-autonomous-autonomous-agent-address-agent-is-working",
      "voter": "pmiklos",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T05:57:36",
  "trx_id": "7d9c551710accc17dae2d3e1966f2f2e9492856d",
  "trx_in_block": 0,
  "virtual_op": false
}
2019/08/15 05:43:30
authorpmiklos
pending payout0.000 HBD
permlinkstateful-autonomous-agents
rshares366266095
total vote weight19369
votersp33dygonzales
weight8264 (82.64%)
Transaction InfoBlock #35565644/Trx 0139b4bbbbfb2a035d92b9be55a3532fcf38a519
View Raw JSON Data
{
  "block": 35565644,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.000 HBD",
      "permlink": "stateful-autonomous-agents",
      "rshares": 366266095,
      "total_vote_weight": 19369,
      "voter": "sp33dygonzales",
      "weight": 8264
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-15T05:43:30",
  "trx_id": "0139b4bbbbfb2a035d92b9be55a3532fcf38a519",
  "trx_in_block": 2,
  "virtual_op": true
}
2019/08/15 05:43:30
authorpmiklos
permlinkstateful-autonomous-agents
votersp33dygonzales
weight10000 (100.00%)
Transaction InfoBlock #35565644/Trx 0139b4bbbbfb2a035d92b9be55a3532fcf38a519
View Raw JSON Data
{
  "block": 35565644,
  "op": [
    "vote",
    {
      "author": "pmiklos",
      "permlink": "stateful-autonomous-agents",
      "voter": "sp33dygonzales",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T05:43:30",
  "trx_id": "0139b4bbbbfb2a035d92b9be55a3532fcf38a519",
  "trx_in_block": 2,
  "virtual_op": false
}
pmiklospublished a new post: stateful-autonomous-agents
2019/08/15 05:37:06
authorpmiklos
body![obyte-stateful-aa.jpg](https://cdn.steemitimages.com/DQmYdGKkoUDXJhMmV8X4b9W9R6ohEhHrYy4mDNHY8bttsXD/obyte-stateful-aa.jpg) In the [previous post](https://steemit.com/obyte/@pmiklos/getting-started-with-obyte-autonomous-agents) we built a very simple Hello World autonomous agent on the Obyte platform that only responded with a static value. In this article we will learn how to store state and execute different actions based on user input and the AA state. # Agent Greeter This example is gonna be an autonomous agent that greets the user differently depending on whether the user already registered. The user will have to first send their name which the AA will store. Next, every time the user interacts with the AA, it will greet them with a warm welcome back message. ## Requesting user input This AA will require that the user first supply their name. But how can we do that? It's easy, the Obyte wallet allows sending data fields along with a payment which the AA can easily read via the `trigger.data` variable: ``` { bounce_fees: { base: 10000 }, messages: [ { app: 'state', state: `{ var[trigger.address] = trigger.data.name; response['message'] = 'Hello ' || var[trigger.address]; }` } ] } ``` A couple of things to notice here: * we use the `state` message type because that is the only place where state variables can be set. State variables can be accessed (read) in any part of the script, but you can only assign values in the state message. * state variables are assigned using the `var` associative array-like variable. The `var[trigger.address] = trigger.data.name` maps the value of `trigger.address` to the value of `trigger.data.name`, for example `53LAFVHRJ7C2SNNEMLUCJCZCZFXZNKV4` to `John Doe`. * `trigger.data` refers to a data payload object of the triggering Obyte unit and we can access its properties with the dot operator. In the above example the `trigger.data.name` reads the value of the `name` property. * finally, when setting the response message, we can see that the state variable can be immediately read after we assigned a value to it. And here is how the user would call Agent Greeter from the Send screen of the wallet: ![obyte-stateful-aa-user-data.png](https://cdn.steemitimages.com/DQmTQWrHjUUPcDdqVpAgaGFKmTrfxVZSjcgMsxnYF2QLVtJ/obyte-stateful-aa-user-data.png) As we can see, the wallet immediately predicts the outcome of the call and displays what state variables would be set upon execution. ## Handling errors What happens if the user does not send the `name` data field? Rather than storing no name, we should instead give an error feedback to the user indicating the missing data element. Let's make some changes: ``` { bounce_fees: { base: 10000 }, messages: [ { init: `{ $name = trigger.data.name otherwise bounce("name is required!"); }`, app: 'state', state: `{ var[trigger.address] = $name; response['message'] = 'Hello ' || var[trigger.address]; }` } ] } ``` A few new things are introduced above: * an `init` property which can have a value with Oscript statements. This is a great place to initialize local variables and handle preconditions and erroneous situations. * a local variable called `$name` is initialized with the value of the `name` data property. It is important to note, that local variables cannot be re-assigned once initialized with a value. * the `otherwise` keyword which is a binary operator that returns the left side if that is "truthy" , otherwise it returns the expression on the right side. Another example would be `$name = trigger.data.name otherwise 'anonymous';` * the `bounce` command which is used to terminate the AA execution with an error. Here is how it looks like in the wallet when no `name` data field is provided: ![obyte-stateful-aa-bounce.png](https://cdn.steemitimages.com/DQmUTThrEiMGKwNYgUuUTKjH4AtyjMBbVzeau1CdroRZtXD/obyte-stateful-aa-bounce.png) ## Adding multiple behaviors Our goal is to recognize and greet the user once they introduced themselves to Agent Greeter. To achieve that we will have to branch our code and alter the behavior if we already stored a name for the calling user. For that, we are going to use the `cases` keyword. See the final script below: ``` { bounce_fees: { base: 10000 }, messages: { cases: [ { if: `{ !var[trigger.address] }`, messages: [{ init: `{ $name = trigger.data.name otherwise bounce("name is required!"); }`, app: 'state', state: `{ var[trigger.address] = $name; response['message'] = 'Hello ' || var[trigger.address]; }` }] }, { messages: [{ app: 'state', state: `{ response['message'] = 'Welcome back ' || var[trigger.address]; }` }] } ] } } ``` The `cases` keyword is used for parameterizing JSON objects. The `cases` takes an array and picks the first element of which `if` condition is truthy or the last one without an `if`. The final script has two branches: the first executes only if the user has not registered their name yet, while the second executes otherwise when the AA already knows the user and so it can welcome them by their name. Important to note that recognizing the same user only works if the user triggers the AA with the same address. For regular users that means they are supposed to use a single address wallet for interacting with Agent Greeter. Bots and programmed headless wallets of course can construct triggering units that would pick a specific address even if they use a multi-address wallet. As an exercise, try to modify the script to return the user most of the fees they paid for interacting with the agent. ## Further reading and resources * [Autonomous Agents User Guide](https://developer.obyte.org/autonomous-agents) * [Testnet Oscript editor](https://testnet.oscript.org/)
json metadata{"tags":["obyte","decentralized","crypto","programming"],"image":["https://cdn.steemitimages.com/DQmYdGKkoUDXJhMmV8X4b9W9R6ohEhHrYy4mDNHY8bttsXD/obyte-stateful-aa.jpg","https://cdn.steemitimages.com/DQmTQWrHjUUPcDdqVpAgaGFKmTrfxVZSjcgMsxnYF2QLVtJ/obyte-stateful-aa-user-data.png","https://cdn.steemitimages.com/DQmUTThrEiMGKwNYgUuUTKjH4AtyjMBbVzeau1CdroRZtXD/obyte-stateful-aa-bounce.png"],"links":["https://steemit.com/obyte/@pmiklos/getting-started-with-obyte-autonomous-agents","https://developer.obyte.org/autonomous-agents","https://testnet.oscript.org/"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkobyte
permlinkstateful-autonomous-agents
titleStateful Autonomous Agents
Transaction InfoBlock #35565517/Trx 44e6140cd3d7355142ec4031a89e85c560398329
View Raw JSON Data
{
  "block": 35565517,
  "op": [
    "comment",
    {
      "author": "pmiklos",
      "body": "![obyte-stateful-aa.jpg](https://cdn.steemitimages.com/DQmYdGKkoUDXJhMmV8X4b9W9R6ohEhHrYy4mDNHY8bttsXD/obyte-stateful-aa.jpg)\n\nIn the [previous post](https://steemit.com/obyte/@pmiklos/getting-started-with-obyte-autonomous-agents) we built a very simple Hello World autonomous agent on the Obyte platform that only responded with a static value. In this article we will learn how to store state and execute different actions based on user input and the AA state.\n\n# Agent Greeter\nThis example is gonna be an autonomous agent that greets the user differently depending on whether the user already registered. The user will have to first send their name which the AA will store. Next, every time the user interacts with the AA, it will greet them with a warm welcome back message.\n\n## Requesting user input\nThis AA will require that the user first supply their name. But how can we do that? It's easy, the Obyte wallet allows sending data fields along with a payment which the AA can easily read via the `trigger.data` variable:\n\n```\n{\n\tbounce_fees: { base: 10000 },\n\tmessages: [\n\t\t{\n\t\t\tapp: 'state',\n\t\t\tstate: `{\n\t\t\t\tvar[trigger.address] = trigger.data.name;\n\t\t\t\tresponse['message'] = 'Hello ' || var[trigger.address];\n\t\t\t}`\n\t\t}\n\t]\n}\n```\n\nA couple of things to notice here:\n* we use the `state` message type because that is the only place where state variables can be set. State variables can be accessed (read) in any part of the script, but you can only assign values in the state message.\n* state variables are assigned using the `var` associative array-like variable. The `var[trigger.address] = trigger.data.name` maps the value of `trigger.address` to the value of `trigger.data.name`, for example `53LAFVHRJ7C2SNNEMLUCJCZCZFXZNKV4` to `John Doe`.\n* `trigger.data` refers to a data payload object of the triggering Obyte unit and we can access its properties with the dot operator. In the above example the `trigger.data.name` reads the value of the `name` property.\n* finally, when setting the response message, we can see that the state variable can be immediately read after we assigned a value to it.\n\nAnd here is how the user would call Agent Greeter from the Send screen of the wallet:\n\n![obyte-stateful-aa-user-data.png](https://cdn.steemitimages.com/DQmTQWrHjUUPcDdqVpAgaGFKmTrfxVZSjcgMsxnYF2QLVtJ/obyte-stateful-aa-user-data.png)\n\nAs we can see, the wallet immediately predicts the outcome of the call and displays what state variables would be set upon execution.\n\n## Handling errors\nWhat happens if the user does not send the `name` data field? Rather than storing no name, we should instead give an error feedback to the user indicating the missing data element. Let's make some changes:\n\n```\n{\n\tbounce_fees: { base: 10000 },\n\tmessages: [\n\t\t{\n\t\t\tinit: `{\n\t\t\t\t$name = trigger.data.name otherwise bounce(\"name is required!\");\n\t\t\t}`,\n\t\t\tapp: 'state',\n\t\t\tstate: `{\n\t\t\t\tvar[trigger.address] = $name;\n\t\t\t\tresponse['message'] = 'Hello ' || var[trigger.address];\n\t\t\t}`\n\t\t}\n\t]\n}\n```\n\nA few new things are introduced above:\n* an `init` property which can have a value with Oscript statements. This is a great place to initialize local variables and handle preconditions and erroneous situations.\n* a local variable called `$name` is initialized with the value of the `name` data property. It is important to note, that local variables cannot be re-assigned once initialized with a value.\n* the `otherwise` keyword which is a binary operator that returns the left side if that is \"truthy\" , otherwise it returns the expression on the right side. Another example would be `$name = trigger.data.name otherwise 'anonymous';`\n* the `bounce` command which is used to terminate the AA execution with an error.\n\nHere is how it looks like in the wallet when no `name` data field is provided:\n\n![obyte-stateful-aa-bounce.png](https://cdn.steemitimages.com/DQmUTThrEiMGKwNYgUuUTKjH4AtyjMBbVzeau1CdroRZtXD/obyte-stateful-aa-bounce.png)\n\n## Adding multiple behaviors\n \nOur goal is to recognize and greet the user once they introduced themselves to Agent Greeter.  To achieve that we will have to branch our code and alter the behavior if we already stored a name for the calling user. For that, we are going to use the `cases` keyword. See the final script below:\n\n```\n{\n\tbounce_fees: { base: 10000 },\n\tmessages: {\n\t\tcases: [\n\t\t\t{\n\t\t\t\tif: `{ !var[trigger.address] }`,\n\t\t\t\tmessages: [{\n\t\t\t\t\tinit: `{\n\t\t\t\t\t\t$name = trigger.data.name otherwise bounce(\"name is required!\");\n\t\t\t\t\t}`,\n\t\t\t\t\tapp: 'state',\n\t\t\t\t\tstate: `{\n\t\t\t\t\t\tvar[trigger.address] = $name;\n\t\t\t\t\t\tresponse['message'] = 'Hello ' || var[trigger.address];\n\t\t\t\t\t}`\n\t\t\t\t}]\n\t\t\t},\n\t\t\t{\n\t\t\t\tmessages: [{\n\t\t\t\t\tapp: 'state',\n\t\t\t\t\tstate: `{\n\t\t\t\t\t\tresponse['message'] = 'Welcome back ' || var[trigger.address];\n\t\t\t\t\t}`\n\t\t\t\t}]\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\nThe `cases` keyword is used for parameterizing JSON objects. The `cases` takes an array and picks the first element of which `if` condition is truthy or the last  one  without an `if`.  The final script has two branches: the first executes only if the user has not registered their name yet, while the second executes otherwise when the AA already knows the user and so it can welcome them by their name.\n\nImportant to note that recognizing the same user only works if the user triggers the AA with the same address. For regular users that means they are supposed to use a single address wallet for interacting with Agent Greeter. Bots and programmed headless wallets of course can construct triggering units that would pick a specific address even if they use  a multi-address wallet.\n\nAs an exercise,  try to modify the script to return the user most of the fees they paid for interacting with the agent.\n\n## Further reading and resources\n\n* [Autonomous Agents User Guide](https://developer.obyte.org/autonomous-agents)\n* [Testnet Oscript editor](https://testnet.oscript.org/)",
      "json_metadata": "{\"tags\":[\"obyte\",\"decentralized\",\"crypto\",\"programming\"],\"image\":[\"https://cdn.steemitimages.com/DQmYdGKkoUDXJhMmV8X4b9W9R6ohEhHrYy4mDNHY8bttsXD/obyte-stateful-aa.jpg\",\"https://cdn.steemitimages.com/DQmTQWrHjUUPcDdqVpAgaGFKmTrfxVZSjcgMsxnYF2QLVtJ/obyte-stateful-aa-user-data.png\",\"https://cdn.steemitimages.com/DQmUTThrEiMGKwNYgUuUTKjH4AtyjMBbVzeau1CdroRZtXD/obyte-stateful-aa-bounce.png\"],\"links\":[\"https://steemit.com/obyte/@pmiklos/getting-started-with-obyte-autonomous-agents\",\"https://developer.obyte.org/autonomous-agents\",\"https://testnet.oscript.org/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "obyte",
      "permlink": "stateful-autonomous-agents",
      "title": "Stateful Autonomous Agents"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-15T05:37:06",
  "trx_id": "44e6140cd3d7355142ec4031a89e85c560398329",
  "trx_in_block": 22,
  "virtual_op": false
}
2019/08/07 18:47:27
authorpmiklos
permlinkgetting-started-with-obyte-autonomous-agents
Transaction InfoBlock #35351344/Virtual Operation 4294967295:11
View Raw JSON Data
{
  "block": 35351344,
  "op": [
    "comment_payout_update",
    {
      "author": "pmiklos",
      "permlink": "getting-started-with-obyte-autonomous-agents"
    }
  ],
  "op_in_trx": 11,
  "timestamp": "2019-08-07T18:47:27",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
pmiklosreceived 0.088 HBD reward share for getting-started-with-obyte-autonomous-agents
2019/08/07 18:47:27
authorpmiklos
author rewards344
beneficiary payout value0.000 HBD
curator payout value0.011 HBD
payout0.088 HBD
permlinkgetting-started-with-obyte-autonomous-agents
total payout value0.076 HBD
Transaction InfoBlock #35351344/Virtual Operation 4294967295:10
View Raw JSON Data
{
  "block": 35351344,
  "op": [
    "comment_reward",
    {
      "author": "pmiklos",
      "author_rewards": 344,
      "beneficiary_payout_value": "0.000 HBD",
      "curator_payout_value": "0.011 HBD",
      "payout": "0.088 HBD",
      "permlink": "getting-started-with-obyte-autonomous-agents",
      "total_payout_value": "0.076 HBD"
    }
  ],
  "op_in_trx": 10,
  "timestamp": "2019-08-07T18:47:27",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
pmiklosreceived 0.171 HIVE, 0.210 HP author reward for @pmiklos / getting-started-with-obyte-autonomous-agents
2019/08/07 18:47:27
authorpmiklos
curators vesting payout99.236358 VESTS
hbd payout0.000 HBD
hive payout0.171 HIVE
payout must be claimedtrue
permlinkgetting-started-with-obyte-autonomous-agents
vesting payout341.373074 VESTS
Transaction InfoBlock #35351344/Virtual Operation 4294967295:9
View Raw JSON Data
{
  "block": 35351344,
  "op": [
    "author_reward",
    {
      "author": "pmiklos",
      "curators_vesting_payout": "99.236358 VESTS",
      "hbd_payout": "0.000 HBD",
      "hive_payout": "0.171 HIVE",
      "payout_must_be_claimed": true,
      "permlink": "getting-started-with-obyte-autonomous-agents",
      "vesting_payout": "341.373074 VESTS"
    }
  ],
  "op_in_trx": 9,
  "timestamp": "2019-08-07T18:47:27",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": true
}
2019/08/02 22:47:42
authorpmiklos
pending payout0.105 HBD
permlinkgetting-started-with-obyte-autonomous-agents
rshares149782749
total vote weight550168
votertonychch
weight143 (1.43%)
Transaction InfoBlock #35213243/Trx 3cd194df93e9cc17ca74ce9e212d383bf865ef2e
View Raw JSON Data
{
  "block": 35213243,
  "op": [
    "effective_comment_vote",
    {
      "author": "pmiklos",
      "pending_payout": "0.105 HBD",
      "permlink": "getting-started-with-obyte-autonomous-agents",
      "rshares": 149782749,
      "total_vote_weight": 550168,
      "voter": "tonychch",
      "weight": 143
    }
  ],
  "op_in_trx": 1,
  "timestamp": "2019-08-02T22:47:42",
  "trx_id": "3cd194df93e9cc17ca74ce9e212d383bf865ef2e",
  "trx_in_block": 30,
  "virtual_op": true
}

Account Metadata

POSTING JSON METADATA
profile{"name":"Obyte Programmer","about":"Crypto enthusiast, programmer, Obyte fan","website":"https://obyte.app","profile_image":"https://cdn.steemitimages.com/DQmXYx1mAyUnNY9QYPgfxL1nynAL2jG21X7w9w7SZaZbNZP/profile-motorhead-cyberpunk.png","cover_image":"https://cdn.steemitimages.com/DQmRJzYQwVx4WxGMiUAHbkHFsj6ke8zPsHH1uYw31eZsYWY/twitter-cover.png"}
JSON METADATA
profile{"name":"Obyte Programmer","about":"Crypto enthusiast, programmer, Obyte fan","website":"https://obyte.app","profile_image":"https://cdn.steemitimages.com/DQmXYx1mAyUnNY9QYPgfxL1nynAL2jG21X7w9w7SZaZbNZP/profile-motorhead-cyberpunk.png","cover_image":"https://cdn.steemitimages.com/DQmRJzYQwVx4WxGMiUAHbkHFsj6ke8zPsHH1uYw31eZsYWY/twitter-cover.png"}
{
  "posting_json_metadata": {
    "profile": {
      "name": "Obyte Programmer",
      "about": "Crypto enthusiast, programmer, Obyte fan",
      "website": "https://obyte.app",
      "profile_image": "https://cdn.steemitimages.com/DQmXYx1mAyUnNY9QYPgfxL1nynAL2jG21X7w9w7SZaZbNZP/profile-motorhead-cyberpunk.png",
      "cover_image": "https://cdn.steemitimages.com/DQmRJzYQwVx4WxGMiUAHbkHFsj6ke8zPsHH1uYw31eZsYWY/twitter-cover.png"
    }
  },
  "json_metadata": {
    "profile": {
      "name": "Obyte Programmer",
      "about": "Crypto enthusiast, programmer, Obyte fan",
      "website": "https://obyte.app",
      "profile_image": "https://cdn.steemitimages.com/DQmXYx1mAyUnNY9QYPgfxL1nynAL2jG21X7w9w7SZaZbNZP/profile-motorhead-cyberpunk.png",
      "cover_image": "https://cdn.steemitimages.com/DQmRJzYQwVx4WxGMiUAHbkHFsj6ke8zPsHH1uYw31eZsYWY/twitter-cover.png"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM6r8bDk7mvddsySvA1nst3LJgLGFiC8ND4d1WGDSEhVLTGGWDqm1/1
Active
Single Signature
Public Keys
STM7xs2c7dBHNGCmBsJbHjxWeL9gjy8UaWQ5g67M6PjMKnDDEPAso1/1
Posting
Single Signature
Public Keys
STM6gb6jGfpq66Bv6E69grQegBWBaQ9BaW4WMyqjJPTkgn5TszN5Z1/1
App Permissions
Memo
STM7KJjDHsDj8g3eWb3i1hVFqomz8nsWFAEda3ENMJnxa9rJ6VjXE
{
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM6r8bDk7mvddsySvA1nst3LJgLGFiC8ND4d1WGDSEhVLTGGWDqm",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM7xs2c7dBHNGCmBsJbHjxWeL9gjy8UaWQ5g67M6PjMKnDDEPAso",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting": {
    "account_auths": [
      [
        "busy.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM6gb6jGfpq66Bv6E69grQegBWBaQ9BaW4WMyqjJPTkgn5TszN5Z",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "memo": "STM7KJjDHsDj8g3eWb3i1hVFqomz8nsWFAEda3ENMJnxa9rJ6VjXE"
}

Witness Votes

0 / 30
No active witness votes.
[]