Conversation
|
More generally, it seems that we want Clients and VMs to both be swappable by each exposing only an API. I can envision three common cases, which follow.
@ehildenb Are you trying to model one of these cases? |
|
Note, I think we have agreed prior to call the actual underlying computational thing the "execution engine", and the combination of that + the client the "VM". So, I would say it's closer to: Client + EEI method implementations <--EEI--> execution engine |
| **TODO**: Is *EEI* the right term to use? | ||
|
|
||
| **Ethereum Client**: Code which can interact with the blockchain (read/validate and sending transactions). | ||
| **EEI method**: A method exposed by the Ethereum Client to the execution engine for interacting with the blockchain state. |
There was a problem hiding this comment.
I wander maybe "function" would be more familiar name.
There was a problem hiding this comment.
I wanted to avoid the word "function" because they aren't functions in the mathematical sense. I think "method" or "procedure" is closer, in the sense of methods from OOP languages like Java which can alter the state of the surrounding context.
|
|
||
| **Ethereum Client**: Code which can interact with the blockchain (read/validate and broadcasting transactions). | ||
|
|
||
| **EVMC**: The *Ethereum Virtual Machine Connector* (correct name?) refers to one of (**TODO: Which one?**): |
There was a problem hiding this comment.
It's API (C language) containing both API for VM and EEI.
Maybe I should physically separate both for clarity?
There was a problem hiding this comment.
Also, the full name for acronym EVMC is here: https://github.com/ethereum/evmc
There was a problem hiding this comment.
Ok, so would:
EVMC: The Ethereum Client-VM Connector API is the C implementation of the EEI.
be an accurate description?
There was a problem hiding this comment.
Also, good idea @poemm, I'll make all these definitions links when appropriate.
|
A comment which may confuse the conversation. Feel free to ignore. When someone reads "Ethereum Environment Interface", it needs explanation. "Ethereum Client-VM Connector API" is more self-explanatory, but the word "Connector" is unnecessary and adds the confusing "C" into the acronym. Generalizing the convention from EVMC, maybe we can consider using This convention can include versions, e.g. I know these names need work, but they are more self-explanatory and future-proof. |
|
I like what @poemm says here because Acronyms Seriously Suck |
@axic, @chfast, and @poemm, I've tried to specify the terminology we've discussed. Need feedback on the EVMC bullet point, and on the overall naming of things.