Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating ContractCreate limits #1131

Open
wants to merge 3 commits into
base: jumbo-ethtx
Choose a base branch
from

Conversation

edward-swirldslabs
Copy link
Contributor

This PR is to update the limits in smart contract creation to match Ethereum limits.

Signed-off-by: Edward Wertz <edward@swirldslabs.com>
Signed-off-by: Edward Wertz <edward@swirldslabs.com>
Copy link
Member

@jsync-swirlds jsync-swirlds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a few typographic suggestions.

128KB, we improve Ethereum compatibility, developer experience, and make it easier to operate a JSON-RPC relay.
Ethereum and other EVM networks permit significantly larger amounts of data in a call, upto 7.15 MB of call data,
whereas all Hedera transactions are capped at 6KB. Smart contracts that are larger than 6KB have to be uploaded
through the Hedera File Service (HFS) through a `FileCreate` transaction followed by multiple `FileAppend`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slight wording improvement.

Suggested change
through the Hedera File Service (HFS) through a `FileCreate` transaction followed by multiple `FileAppend`
to the Hedera File Service (HFS) through a `FileCreate` transaction followed by multiple `FileAppend`

through the Hedera File Service (HFS) through a `FileCreate` transaction followed by multiple `FileAppend`
transactions. Not only does this lead to a poor developer experience, but it makes operating a JSON-RPC relay
difficult and expensive. By permitting smart contracts to have 24576 bytes in `initcode` and `constructorParamaters`
we enable parity with Ethereum smart contract size. Allowing contract call data upto 128KB provides parity with
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upto ==> up to

6KB limit is highly problematic for developer experience, and unexpectedly, for network efficiency. This is especially
true when creating contracts, and for oracles sending large amounts of data to the network.
for clients to get fair access to the network. Ethereum, on the other hand, supports much larger callData
sizes.The 6KB limit is highly problematic for developer experience, and unexpectedly, for network efficiency. This
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space:
sizes.The ==> sizes. The

The configured value for the size of an event in gossip should be set greater than one full-sized jumbo transaction.
The configured value for the size of an event in gossip should be set greater than one full-sized jumbo transaction
plus room for all the needed event meta data. If the max size of events prevent carrying at least 1 jumbo
transactions, then any node receiving a single max sized jumbo transaction have its transaction pool clogged and the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing a word?

Suggested change
transactions, then any node receiving a single max sized jumbo transaction have its transaction pool clogged and the
transactions, then any node receiving a single max sized jumbo transaction could have its transaction pool clogged and the

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants