ethers-rs/examples/big-numbers
DaniPopes f7a066e700
chore: update release process (#2278)
* chore: strip ethers prefix for the ethers-wasm example

* chore: set publish to false and version to 0.0.0 for all example crates

* chore: remove unused release helpers

* chore: move CHANGELOG.md to CHANGELOG-OLD.md

* chore: update lockfile and wasm renames

* chore: renames

* chore: use git-cliff for generating CHANGELOG.md

* chore: renames

* chore: update release.toml

* chore: move examples script

mv \
scripts/examples.sh \
bin/run_all_examples

* chore: add release script

* fix: update release script and document

* fix: mv

* docs: remove 'update changelog' in PR template
2023-03-20 21:21:04 -07:00
..
examples docs: mdbook (#1994) 2023-01-03 15:18:38 +02:00
Cargo.toml chore: update release process (#2278) 2023-03-20 21:21:04 -07:00
README.md refactor: examples (#1940) 2022-12-29 14:53:11 +02:00

README.md

Big numbers

Ethereum uses big numbers (also known as "bignums" or "arbitrary-precision integers") to represent certain values in its codebase and in blockchain transactions. This is necessary because the EVM operates on a 256-bit word size, which is different from the usual 32-bit or 64-bit of modern machines. This was chosen for the ease of use with 256-bit cryptography (such as Keccak-256 hashes or secp256k1 signatures).

It is worth noting that Ethereum is not the only blockchain or cryptocurrency that uses big numbers. Many other blockchains and cryptocurrencies also use big numbers to represent values in their respective systems.

Utilities

In order to create an application, it is often necessary to convert between the representation of values that is easily understood by humans (such as ether) and the machine-readable form that is used by contracts and math functions (such as wei). This is particularly important when working with Ethereum, as certain values, such as balances and gas prices, must be expressed in wei when sending transactions, even if they are displayed to the user in a different format, such as ether or gwei. To help with this conversion, ethers-rs provides two functions, parse_units and format_units, which allow you to easily convert between human-readable and machine-readable forms of values. parse_units can be used to convert a string representing a value in ether, such as "1.1", into a big number in wei, which can be used in contracts and math functions. format_units can be used to convert a big number value into a human-readable string, which is useful for displaying values to users.