julien/lovepublic Fork 0
2-multichain-check
Commits
Clone
git clone https://git.rickub.com/julien/love.git
git clone ssh://git@rickub.com/julien/love.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

document multichain check 3a20a7c · on 2-multichain-check · julienbrg · 4h ago
README.md · 64 lines · 1.4 KBmarkdown
Blame HistoryOpen raw

Love

The official LOVE token.

Install

forge install
cp .env.example .env

Build & test

forge build            # compile
forge test             # run tests
forge test -vvv        # with traces
forge fmt              # format
anvil                  # local node

Deploy

Deployment uses CREATE2, so the token has the same address on every EVM network.

forge script script/Love.s.sol:LoveScript --sig 'predict()'   # print the address

forge script script/Love.s.sol:LoveScript \
  --rpc-url base_sepolia \
  --account "$DEPLOYER_ACCOUNT" \
  --broadcast \
  --verify

To check determinism for real, deploy on two local chains and compare:

./script/multichain-check.sh

It starts two anvil nodes (chain IDs 31337 and 31338), broadcasts the script on
both, and exits non-zero if the addresses differ. Override PORT_A, PORT_B,
CHAIN_ID_A, CHAIN_ID_B or SALT as needed.

Mint

cast send <LOVE_ADDRESS> "mint(address,uint256)" <RECIPIENT> 1000000000000000000 \
  --rpc-url base_sepolia \
  --account "$DEPLOYER_ACCOUNT"

License

GPL-3.0

Contact

Julien Béranger (GitHub)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Love

The official LOVE token.

## Install

```shell
forge install
cp .env.example .env
```

## Build & test

```shell
forge build            # compile
forge test             # run tests
forge test -vvv        # with traces
forge fmt              # format
anvil                  # local node
```

## Deploy

Deployment uses CREATE2, so the token has the same address on every EVM network.

```shell
forge script script/Love.s.sol:LoveScript --sig 'predict()'   # print the address

forge script script/Love.s.sol:LoveScript \
  --rpc-url base_sepolia \
  --account "$DEPLOYER_ACCOUNT" \
  --broadcast \
  --verify
```

To check determinism for real, deploy on two local chains and compare:

```shell
./script/multichain-check.sh
```

It starts two anvil nodes (chain IDs 31337 and 31338), broadcasts the script on
both, and exits non-zero if the addresses differ. Override `PORT_A`, `PORT_B`,
`CHAIN_ID_A`, `CHAIN_ID_B` or `SALT` as needed.

## Mint

```shell
cast send <LOVE_ADDRESS> "mint(address,uint256)" <RECIPIENT> 1000000000000000000 \
  --rpc-url base_sepolia \
  --account "$DEPLOYER_ACCOUNT"
```

## License

GPL-3.0

## Contact

**Julien Béranger** ([GitHub](https://github.com/julienbrg))

- Element: [@julienbrg:matrix.org](https://matrix.to/#/@julienbrg:matrix.org)
- Farcaster: [julien-](https://warpcast.com/julien-)
- Telegram: [@julienbrg](https://t.me/julienbrg)