Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Blocks should allow for generated transactions to have output #139

Closed
wanderingbort opened this issue Aug 4, 2017 · 1 comment
Closed
Assignees
Labels

Comments

@wanderingbort
Copy link
Contributor

wanderingbort commented Aug 4, 2017

Related to #127

As of right now, a block at the lowest level (thread) consists of user_input and generated_input both of which are lists of transactions processed in that block (from users and generated in previous blocks respectively).

While user_input is an array of ProcessedTransaction s that include a list of MessageOutput s, the generated_input is just an array of transaction ids.

For now the resolution is to create a ProcessedGeneratedTransaction that contains the id of the generated transaction and any MessageOutput that results from the application of that transaction.

This leaves generated transactions and incoming user transactions segregated at the block level implying, among other things, that for any given thread all generated transactions will be scheduled before any user transactions. After discussion, desegregating these transaction types was non-trivial and had questionable benefits so, for now, it is not being pursued.

@wanderingbort wanderingbort self-assigned this Aug 4, 2017
@nathanielhourt
Copy link
Contributor

What about reorganizing the Transaction type like so:

struct Transaction
   scope             AccountName[]   # the data may be accessed while processing this transaction
   messages          Message[]

struct UserTransaction inherits Transaction
   refBlockNum       UInt16
   refBlockPrefix    UInt32
   expiration        Time

struct SignedTransaction inherits UserTransaction
   signatures     Signature[]

struct GeneratedTransaction inherits Transaction
   parent      TransactionId # May be a UserTransaction or a GeneratedTransaction

And then a ProcessedTransaction would have a variant member which is either a SignedTransaction or a GeneratedTransaction

Does that make things better?

ljrprocc pushed a commit to bithacks-tech/myeosio that referenced this issue Jul 4, 2018
* Working on it

* Updated to 4.1

* Updated docs for tag 4.1

* Remove unrefed references

* Update to 4.1

* General tests cleanup. Enabling more segments of nodeos test. Tighten transaction finalization to narrow down the exact block containing the transaction. Tighter error handling. Add currency balance test. Improve transaction distribution validation mechanism.

* Link to wiki/Tutorial-Bios-Boot-Sequence directly

Also minor nit to the code block in README.

* Delete duplicate ;

* fix EOSIO#3229: keosd does not respect the --wallet-dir option

* add wallet_create_key doc

* Mirror improves http performance

* raise sigints

* (binaryen) fix compiling on gcc 8.1

* FIX --http-server-address bug

* reduce likelihood of corrupting tail end of block_log by flushing after each block append

* system contract: unit-test for taking stake from pednding refund EOSIO#3213 bugfix EOSIO#3180

* Forgot to revert default

* Refactor eosio_system_tester into header file. GH EOSIO#3039

* Added RAM limit tests. GH EOSIO#3039

* Changes for rebase to master. GH EOSIO#3039

* Forgot to add appbase changes

* add --hard-replay EOSIO#3243

* Trying to work with appbase

* Log in GELF 1.1 format, with unstringified numbers.

* better handling of unconfirmed block db inconsistencies; skip authorization checks on replay

* fix bug in force-all-checks option

* remove docs

* resolve conflicts

* nodeos to enunode

* do not skip authorization check when replaying reversible blocks

* make identical exceptions identifiable

* on second thought, it is safer to not try to automatically recover from inconsistencies betweeen unconfirmed db and fork db

* add a little ram

* increase ram

* revert init bytes

* increase initial ram allocation

* update ram

* correct conditions

* .

* update node test

* correct parameter
taokayan pushed a commit to taokayan/eos that referenced this issue May 15, 2019
NorseGaud pushed a commit that referenced this issue Jul 30, 2019
# This is the 1st commit message:

various improvements

# This is the commit message #2:

new hash

# This is the commit message #3:

fix for script path

# This is the commit message #4:

fixes

# This is the commit message #5:

fixes

# This is the commit message #6:

fixes

# This is the commit message #7:

fixes

# This is the commit message #8:

fixes

# This is the commit message #9:

fixes

# This is the commit message #10:

fixes

# This is the commit message #11:

fixes

# This is the commit message #12:

fixes

# This is the commit message #13:

fixes

# This is the commit message #14:

fixes

# This is the commit message #15:

fixes

# This is the commit message #16:

fixes

# This is the commit message #17:

fixes

# This is the commit message #18:

fixes

# This is the commit message #19:

fixes

# This is the commit message #20:

fixes

# This is the commit message #21:

fixes

# This is the commit message #22:

fixes

# This is the commit message #23:

fixes

# This is the commit message #24:

fixes

# This is the commit message #25:

fixes

# This is the commit message #26:

testing

# This is the commit message #27:

testing

# This is the commit message #28:

testing

# This is the commit message #29:

testing

# This is the commit message #30:

testing

# This is the commit message #31:

testing

# This is the commit message #32:

testing

# This is the commit message #33:

testing

# This is the commit message #34:

testing

# This is the commit message #35:

testing

# This is the commit message #36:

testing

# This is the commit message #37:

testing

# This is the commit message #38:

testing

# This is the commit message #39:

testing

# This is the commit message #40:

testing

# This is the commit message #41:

testing

# This is the commit message #42:

testing

# This is the commit message #43:

testing

# This is the commit message #44:

fixes

# This is the commit message #45:

fixes

# This is the commit message #46:

fixes

# This is the commit message #47:

fixes

# This is the commit message #48:

fixes

# This is the commit message #49:

fixes

# This is the commit message #50:

fixes

# This is the commit message #51:

fixes

# This is the commit message #52:

fixes

# This is the commit message #53:

fixes

# This is the commit message #54:

fixes

# This is the commit message #55:

fixes

# This is the commit message #56:

fixes

# This is the commit message #57:

fixes

# This is the commit message #58:

fixes

# This is the commit message #59:

fixes

# This is the commit message #60:

fixes

# This is the commit message #61:

fixes

# This is the commit message #62:

fixes

# This is the commit message #63:

fixes

# This is the commit message #64:

fixes

# This is the commit message #65:

fixes

# This is the commit message #66:

fixes

# This is the commit message #67:

fixes

# This is the commit message #68:

fixes

# This is the commit message #69:

fixes

# This is the commit message #70:

fixes

# This is the commit message #71:

fixes

# This is the commit message #72:

fixes

# This is the commit message #73:

fixes

# This is the commit message #74:

fixes

# This is the commit message #75:

fixes

# This is the commit message #76:

fixes

# This is the commit message #77:

fixes

# This is the commit message #78:

fixes

# This is the commit message #79:

more testing

# This is the commit message #80:

testing

# This is the commit message #81:

fixes

# This is the commit message #82:

fixes

# This is the commit message #83:

fixes

# This is the commit message #84:

fixes

# This is the commit message #85:

fixes

# This is the commit message #86:

fixes

# This is the commit message #87:

fixes

# This is the commit message #88:

fixes

# This is the commit message #89:

fixes

# This is the commit message #90:

fixes

# This is the commit message #91:

fixes

# This is the commit message #92:

fixes

# This is the commit message #93:

propagate-environment for buildkite-agent

# This is the commit message #94:

propagate-environment for buildkite-agent

# This is the commit message #95:

propagate-environment for buildkite-agent

# This is the commit message #96:

propagate-environment for buildkite-agent

# This is the commit message #97:

fixes

# This is the commit message #98:

fixes

# This is the commit message #99:

fixes

# This is the commit message #100:

fixes

# This is the commit message #101:

fixes

# This is the commit message #102:

fixes

# This is the commit message #103:

fixes

# This is the commit message #104:

fixes

# This is the commit message #105:

fixes

# This is the commit message #106:

fixes

# This is the commit message #107:

fixes

# This is the commit message #108:

fixes

# This is the commit message #109:

fixes

# This is the commit message #110:

fixes

# This is the commit message #111:

fixes

# This is the commit message #112:

fixes

# This is the commit message #113:

fixes

# This is the commit message #114:

fixes

# This is the commit message #115:

fixes

# This is the commit message #116:

fixes

# This is the commit message #117:

fixes

# This is the commit message #118:

fixes

# This is the commit message #119:

fixes

# This is the commit message #120:

fixes

# This is the commit message #121:

fixes

# This is the commit message #122:

fixes

# This is the commit message #123:

fixes

# This is the commit message #124:

fixes

# This is the commit message #125:

fixes

# This is the commit message #126:

fixes

# This is the commit message #127:

fixes

# This is the commit message #128:

fixes

# This is the commit message #129:

fixes

# This is the commit message #130:

fixes

# This is the commit message #131:

fixes

# This is the commit message #132:

fixes

# This is the commit message #133:

fixes

# This is the commit message #134:

fixes

# This is the commit message #135:

fixes

# This is the commit message #136:

fixes

# This is the commit message #137:

fixes

# This is the commit message #138:

fixes

# This is the commit message #139:

fixes

# This is the commit message #140:

fixes

# This is the commit message #141:

fixes

# This is the commit message #142:

fixes

# This is the commit message #143:

fixes

# This is the commit message #144:

fixes

# This is the commit message #145:

fixes

# This is the commit message #146:

fixes

# This is the commit message #147:

fixes

# This is the commit message #148:

fixes

# This is the commit message #149:

fixes

# This is the commit message #150:

fixes

# This is the commit message #151:

fixes

# This is the commit message #152:

fixes

# This is the commit message #153:

testing

# This is the commit message #154:

fixes

# This is the commit message #155:

fixes

# This is the commit message #156:

fixes

# This is the commit message #157:

fixes

# This is the commit message #158:

fixes

# This is the commit message #159:

fixes

# This is the commit message #160:

fixes

# This is the commit message #161:

fixes

# This is the commit message #162:

fixes

# This is the commit message #163:

fixes

# This is the commit message #164:

fixes

# This is the commit message #165:

fixes

# This is the commit message #166:

fixes

# This is the commit message #167:

fixes

# This is the commit message #168:

fixes

# This is the commit message #169:

fixes

# This is the commit message #170:

fixes

# This is the commit message #171:

fixes

# This is the commit message #172:

fixes

# This is the commit message #173:

fixes

# This is the commit message #174:

fixes

# This is the commit message #175:

fixes

# This is the commit message #176:

fixes

# This is the commit message #177:

fixes

# This is the commit message #178:

fixes

# This is the commit message #179:

fixes

# This is the commit message #180:

fixes

# This is the commit message #181:

fixes

# This is the commit message #182:

fixes

# This is the commit message #183:

fixes

# This is the commit message #184:

fixes

# This is the commit message #185:

fixes

# This is the commit message #186:

fixes
Frank-AFN pushed a commit to eosiosg/eos that referenced this issue Mar 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants