Starknet Devnet

New version of starknet-devnet (v0.2.5) has been released:

  • Introduced an endpoint for fetching predeployed account information: docs
  • Introduced local faucet for adding funds (minting tokens) to accounts: docs
  • Partial update to JSON RPC API v0.15.0
7 Likes

New version of starknet-devnet (v0.2.6) has been released:

  • Adapted to cairo-lang and Starknet 0.9.1
  • Added path check on dumping
  • Using OpenZeppelin 0.2.1 for predeployed accounts
  • Accounts predeployed with --seed now set not to change with new Devnet releases
  • Token contract:
    • Address set not to change with new Devnet releases
    • Token symbol changed to ETH
  • Supported non-decimal float as amount of minting (e.g. 1e21 or 1000.0)
  • Added support for geth --dev being used as the L1 of L1<>L2 Postman communication
  • Introduced the /api endpoint which returns a map of all URL endpoints provided by Devnet
  • Introduced Docker image tag shardlabs/starknet-devnet:<VERSION>-seed0 which predeploys accounts with --seed 0
7 Likes

New version of starknet-devnet (v0.2.7) has been released:

  • Flushing stdout
  • Introduced endpoint for fetching fee token info (GET /fee_token)
  • Fixed balance checking and minting after loading dumped Devnet
  • RPC updates:
    • Fixed declare and deploy parameters (hexing ints)
    • Supported RPC write API (invoke, deploy, declare)
7 Likes

New version of starknet-devnet (v0.2.8) has been released:

  • Fixed fee estimation weights - should result in estimations more similar to those on alpha-goerli
  • Fixed block_hash property of get_transaction_status response to be hex string
  • Fixed get_transaction_trace for declare transactions
  • Block improvements:
    • Fixed response of get_block_number cairo syscall
    • Now shipping with a genesis block (block number 0)
    • Introduced an endpoint for generating an empty block: POST /create_block
  • Slightly improved performance (replaced unnecessary async with sync methods)
9 Likes

New version of starknet-devnet (v0.2.9) has been released:

  • Fixed handling of running requests exchanging big payloads, e.g. get_code
  • Fixed off-by-one offset in get_block_number syscall response
6 Likes

New version of starknet-devnet (v0.2.10) has been released:

  • Fixed dump/load and restart functionalities.
  • Now waiting for dump to finish (letting it run in parallel was causing potential read-write race conditions)
  • Improved CLI parameter handling
5 Likes

New version of starknet-devnet (v0.2.11) has been released:

  • Now supporting JSON-RPC API v0.1.0
    • except methods starknet_protocolVersion, starknet_getEvents and starknet_getNonce
  • Updated predeployed accounts implementation to OpenZeppelin v0.3.1 (previously was OpenZeppelin v0.2.1)
  • Now every commit to master is available as a Docker image:
    • shardlabs/starknet-devnet:<COMMIT_HASH>
    • last commit also available as shardlabs/starknet-devnet:next
7 Likes

New version of starknet-devnet (v0.3.0) has been released:

  • Partially adapted to Starknet / cairo-lang 0.10.0:
    • Dropped support for Python 3.7
    • Tested with Starknet CLI account:
      • Predeployed OZ accounts not guaranteed to work
    • Block state root not calculated
    • Transactions with version 1 not guaranteed to work
    • API changes:
      • Supported: get_nonce and simulate_transaction
      • Not yet supported: estimate_message_fee
    • RPC method starknet_getStateUpdate not guaranteed to work
  • --lite-mode only affects block hash calculation (uses numbering instead of actual hash)
  • Removed result from invoke response.
  • Introduced modifying server timeout with --timeout parameter (can help with big contracts or slower machines)
5 Likes

New version of starknet-devnet (v0.3.1) has been released:

  • The predeployed/prefunded accounts adapted to the new tx version 1:
    • Using OZ 0.4.0b with a minor modification to allow tx simulation
  • Logging from dockerized Devnet enabled by default
    • By using PYTHONUNBUFFERED=1 as the default, no need to provide it manually
  • Fixed account replication seed being displayed as None
  • Allowing fee estimation for tx versions 0 and 1
  • Fixed state root being empty
  • JSON-RPC fixes:
    • Fixed call return value
    • Allowing requests without params where possible
    • Improved error handling; error codes more in line with specification
6 Likes

New version of starknet-devnet (v0.3.2) has been released:

  • Lite mode fix for transaction hashes
  • Support estimate_message_fee
  • Fix positional args for addInvokeTransaction (JSON-RPC)
4 Likes

New version of starknet-devnet (v0.3.3) has been released:

  • Increase of performance
    • improved deploy (~150% gain)
    • change of deepcopy in ContractClass (~300% gain)
  • New flag --hide-predeployed-accounts added
3 Likes

NEW VERSION of starknet-devnet (v0.3.4) has been released:

  • Support for Starknet 0.10.1
  • Predeployed accounts can now use a custom implementation; specified via --account-class (docs)
  • Docs now available at Hello from StarkNet Devnet | StarkNet Devnet
  • RPC updates:
    • Support for starknet_getEvents
    • Updated starknet_getNonce and starknet_addInvokeTransaction RPC methods
5 Likes

NEW VERSION of starknet-devnet (v0.3.5) has been released:

  • Predeploy universal deployer contract (UDC): docs
  • Update predeployed account default implementation (OZ 0.5.0)
  • Fix error format:
    • Use the same scheme as alpha network (status_code → code)
    • Fix get_transaction_trace response for rejected txs
  • Correctly store accounts deployed with DeployAccount tx
  • L1_HANDLER txs stored correctly
  • RPC improvements:
    • Adapt to JSON-RPC v0.2.0
    • Adapt to tx v1
    • Allow block ID to be pending (same behavior as latest)
4 Likes

wow it is so good my friend

3 Likes

What unique contribution(s) STARKNET is bringing to crypto community that’s necessitated it’s existence?

3 Likes

New breaking version of starknet-devnet (v0.4.0) has been released:

  • Introduce forking (docs):
    • starknet-devnet --fork-network <NAME|URL> --fork-block <NUMBER>
    • The fork uses testnet ID for all networks (should be configurable in the future)
  • Internal contracts now at the same addresses as on mainnet/testnet:
    • UDC: 0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf
    • Fee token contract: 0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7
    • Breaking change
  • Lite mode no longer uses sequential deployment tx hashing
    • Performed slower deployment than regular mode
    • Suggestion: reconsider if your use-case benefits from lite mode
  • Fix missing L2 to L1 messages
  • Fix state dumping on exit
  • JSON-RPC:
    • Support v0.2.1
    • Fee estimation for declare txs
    • getEvents: fix continuation token when no events
6 Likes

Regarding the forking mechanism.
I’d be interested in understanding more how it works.
When providing the official URL such as:
https://alpha4.starknet.io
It does not pull the entire StarkNet state but rather every time I perform a call/transaction a “static call” will be made to the provided endpoint.
So if I run my unit tests, I’ll be spamming the living s*it out of the sequencer endpoint, no?
So to ensure that everything runs as quick as possible I would want to query my local pathfinder node instead of one of the official endpoints, right?

5 Likes

New version of starknet-devnet (v0.4.1) has been released:

  • Use StarkNet / cairo-lang 0.10.2:
    • Add /estimate_fee_bulk support
  • JSON-RPC: fix pending block behavior
3 Likes

@FeedTheFed What do you say about @TotalPizza’s concern?

3 Likes

:birthday: :clap::clap::clap:
Happy Birthday and have a wonderful day.
Thank you for always sharing Cairo updates.
Regards :+1: :saluting_face: :argentina:

2 Likes