Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 02 09:07

    chriseth on gh-pages

    Built pdf from {fabef2531a8f8e7… (compare)

  • Dec 02 09:06
    yperbasis closed #830
  • Dec 02 09:05

    yperbasis on master

    Genesis block difficulty is 2^3… (compare)

  • Dec 01 15:16
    yperbasis synchronize #830
  • Dec 01 15:00
    yperbasis review_requested #830
  • Dec 01 11:08
    yperbasis edited #830
  • Dec 01 11:04
    yperbasis synchronize #830
  • Dec 01 10:57
    yperbasis synchronize #830
  • Dec 01 10:23
    yperbasis review_requested #830
  • Dec 01 10:23
    yperbasis opened #830
  • Nov 30 09:34
    yperbasis closed #828
  • Nov 30 09:34
    yperbasis commented #828
  • Nov 30 01:56
    suahk opened #829
  • Nov 30 01:45
    suahk edited #828
  • Nov 30 01:42
    suahk opened #828
  • Nov 30 00:52
    axic commented #827
  • Nov 30 00:51
    axic commented #827
  • Nov 29 11:22

    chriseth on gh-pages

    Built pdf from {f0ba6bca4500af1… (compare)

  • Nov 29 11:20

    yperbasis on master

    Use keccak-256 consistently (#8… (compare)

  • Nov 29 11:20
    yperbasis closed #826
Tomasz Kajetan Stańczak
@tkstanczak
but they are neither up to date
Nalin Bhardwaj
@nalinbhardwaj
great, thanks @tkstanczak
Alessandro Coglio
@acoglio
@tkstanczak I believe that a YP maintenance group may be formed soon.
Nick Savers
@nicksavers
@nalinbhardwaj the changes for EIP have been merged into the Constantinople branch
@tkstanczak two EIPs have already been merged into the Constantinople branch. The rest has not been offered as a PR yet.
Tomasz Kajetan Stańczak
@tkstanczak
ah nice
I will mention that to the people at the workshop next week
Nick Savers
@nicksavers
If people like I can keep track of the status of all EIPs in a special meta-issue
Similar to how @Souptacular did with the pm-repo
Greg Colvin
@gcolvin
@acoglio @tkstanczak @nicksavers @rapt-whisk-router. Yes, Jamie Pitts has started forming a Specification group, but with more ambitions than YP maintenance. He should be dropping by here soon enough, or give him a ping.
hsyed1029
@hsyed1029
I'm pretty newbie when it comes to blockchain, would the ethereum yellow paper be a good place to start? I am a 4th year computer science student in college, so I feel I have the math knowledge necessary but I am not too sure if the yellow paper is a good place to start.
Nick Savers
@nicksavers
@hsyed1029 Welcome to the community. The yellowpaper is a canonical specification for developers and researchers implementing and analyzing the consensus rules of Ethereum. If you're just starting out I would suggest other resources to start with. It depends a little on what your short term and long term goals are.
hsyed1029
@hsyed1029
@nicksavers My long term goals are to deeply understand what a robust blockchain looks like, there are tons of tutorials “in building your own blockchain” but I want to see what this actually looks like at a huge scale. How long would expect it will take for someone to become very familiar with the Ethereum code base? I plan on reading the java implementation.
Nick Savers
@nicksavers
@hsyed1029 there are variously ways of learning what you're looking for. The various implementations are indeed a good start. You could also take a look at the application designs for some of these clients. They separate the various components like blocks, transactions, signing, proof of work, virtual machine, true structure, encoding, etc.
As for Java implementations, there are two. Ethereumj and Pantheon.
hsyed1029
@hsyed1029
Thanks for the info, much appreciated! @nicksavers
Adrian Sutton
@ajsutton
@hsyed1029 There are a bunch of Pantheon developers hanging out in http://gitter.im/PegaSysEng/pantheon if you have any questions about the codebase. And I presented an architecture overview of Pantheon at a local meetup recently. The recording isn’t particularly great unfortunately but it may be useful: https://www.youtube.com/watch?v=P0ZNyVu_-oU&t=1036s
hsyed1029
@hsyed1029
@ajsutton what city are these meetups held?
Adrian Sutton
@ajsutton
@hsyed1029 Brisbane Australia.
https://www.meetup.com/ethereum-engineering/ if anyone happens to be in Brisbane. :)
hsyed1029
@hsyed1029
Dang, wrong continent lol
jacekv
@jacekv

Hey guys, I had been reading Chapter 9.3 Execution Environment and I am having a problem with understanding some of the information from tuple I. I hope you can help me to answer these questions :)

I_a, the address of the account which owns the code that is executing. - Which addres is this actually? Is the the smart contracts address, which is executed by the transaction?

I_s, the address of the account which caused the code to be executing; if the execution agent is a transaction, this would be the transaction sender. - The description sounds to me, like that information is able to change. In case it is a transaction, I_s is the senders address. What other address can there be?

I_e, the depth of the present message-call or contract-creation (i.e. the number of CALLs or CREATEs being executed at present). - I understand, that the value of I_e is incremented everytime we make a message call. Are there instructions, which cause the value to be decremented?

Paweł Bylica
@chfast
@jacekv
I_a - not always. In case of DELEGATECALL is the address of the code but the execution is in context of the sender.
I_s - it's the message sender. It changes with every call and create.
I_e - only returning from a call or create can decrement it
jacekv
@jacekv
Regarding I_s: Let's say we have a transaction to a smart contract. In this case, I_s has the address of the sender. When the smart contract performs a message call to another smart contract, in that case I_s has the value of the first smart contract? Did I understand it correct?
Christian Seberino
@cseberino
Anyone have any links to more description of Ethereum's "substate" as mentioned in section 6.1 of the yellow paper? It includes accounts that are meant to be discarded (self destruct set) and execution "checkpoints" and "touched accounts"....Any ideas?
juan21232
@juan21232
ml pago
Christian Seberino
@cseberino
Actually, should section 6.1 possibly be OMITTED? Reason I ask is, if I'm not mistaken, EIP98 removes any mention of this temporary data in receipts so clients can just ignore?
Alessandro Coglio
@acoglio
Based on knowledge of existing implementations, does anybody have any insight into the just opened Issue #753? Thanks in advance.
Alessandro Coglio
@acoglio
I'm wondering if anybody has thoughts on Issue #767.
Gusțavo Frederic೦
@gcsfred_twitter
Hi, the Yellow Paper in section 12.1 discusses data feeds and states "This would be implemented as a contract that returned that value of some known point in storage." Does some external process that is not a smart contract writes data directly to storage, or can I assume that only a smart contract does so? If it's the latter, it's not clear to me how the EVM allows for 'external data reads/writes'.
Gusțavo Frederic೦
@gcsfred_twitter
My second question also related to data feeds is about how they should behave, considering that all peers in the network execute the same smart contract multiple times and the results should be the same. Aren't data feeds obliged to return the exact same value for the same call for the same transaction always? If not, wouldn't that imply that the same transaction could record different states when executing in different peers?
Micah Zoltu
@MicahZoltu
@gcsfred_twitter Depending on how you define storage, blocks are also written to storage. If you mean "set of data accessible from smart contracts" then there is some stuff like block number, block timestamp, etc. that is available but not written by contracts. However, I suspect that the answer to your question is "no". The EVM does not allow for external data reads/writes.
Gusțavo Frederic೦
@gcsfred_twitter
@MicahZoltu The Yellow paper refers to "data feeds" in the same sense as "oracles", giving the example of a smart contract accessing external data. If EVM instructions cannot access external data, how are data feeds implemented?
Micah Zoltu
@MicahZoltu
@gcsfred_twitter Someone can use a smart contract to write whatever they want to storage.
"Whatever you want" may be data from an external source.
There is nothing built-in to achieve this though.
Gusțavo Frederic೦
@gcsfred_twitter
Ok, but how does the smart contract fetch data from an external source in the first place?
Micah Zoltu
@MicahZoltu
@gcsfred_twitter It doesn't fetch it, someone pushes data (whatever data they want) to it.

For example, I can write a contract like:

contract Apple {
    bytes32 public color = "red";
    function setColor(bytes32 newColor) external { this.color = newColor; }
}

And anyone can call setColor to change the color to whatever they want. You could restrict who can change the color with something like require(msg.sender == 0xadd12ess...) so random people can't set the color to whatever they want. You could then have a bot that updates the color based on some external price feed by submitting a transaction anytime the color changes in the feed source.

Gusțavo Frederic೦
@gcsfred_twitter
@MicahZoltu Would this other system push the data to storage and the smart contract fetches it from storage (that is, with the SLOAD instruction)?
Micah Zoltu
@MicahZoltu
@gcsfred_twitter Yes.
Gusțavo Frederic೦
@gcsfred_twitter
@MicahZoltu Right, interesting. I understand. Thanks for the explanation.
Micah Zoltu
@MicahZoltu
:thumbsup:
Thomas Jay Rush
@tjayrush
One word of clarification. The external process can’t change the storage by itself. It can only do so by sending a valid transaction through the same or some other smart contract.
Chitnarong06
@Chitnarong06
Hello
Shahin
@hamid0785
Hello
hsyed1029
@hsyed1029
ETH to the moooooonnnn