Files
proxmox/thirdweb-core-2103-test/README.md
defiQUG dbd517b279 Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains
- Omit embedded publish git dirs and empty placeholders from index

Made-with: Cursor
2026-04-12 06:12:20 -07:00

53 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Thirdweb core infra — VMID 2103 test harness
Deploys **Forwarder → TWRegistry → TWFactory → ContractPublisher** from `@thirdweb-dev/contracts` against **Chain 138** RPC for **VMID 2103** (Thirdweb admin core).
## RPC URL (FQDN default)
**Canonical HTTPS JSON-RPC (NPM → VMID 2103):** `https://rpc.tw-core.d-bis.org`
**WebSocket:** `wss://wss.tw-core.d-bis.org` (see `docs/04-configuration/RPC_ENDPOINTS_MASTER.md`).
E2E checks (2026-04-09): `eth_chainId``0x8a`, `eth_blockNumber` OK; `forge script … --rpc-url https://rpc.tw-core.d-bis.org` simulation OK.
`scripts/rpc-url-2103.sh` (used by npm scripts and `deploy-*-with-project-env.sh`) **defaults to that FQDN**. For **LAN-only** HTTP to the container, set:
```bash
export RPC_THIRDWEB_ADMIN_LAN_ONLY=1
# optional: export RPC_THIRDWEB_ADMIN_CORE=192.168.11.217
```
Or set a full override: `RPC_URL_2103` or `RPC_TW_CORE_HTTP`.
- **Foundry:** compiles Thirdweb sources via `node_modules` remappings; `script/DeployThirdwebCore.s.sol`.
- **Hardhat:** compiles only `contracts/HardhatPlaceholder.sol`; deploy uses **ABI + bytecode from `forge build`** (`out/`) to avoid an OpenZeppelin `Address` library name clash inside Thirdwebs dependency graph.
## Commands
```bash
cd thirdweb-core-2103-test
npm install
npm run forge:build
npm run forge:dry-run
# Loads PRIVATE_KEY via parent repo load-project-env.sh; RPC defaults to https://rpc.tw-core.d-bis.org
npm run deploy:forge:project-env
npm run deploy:hh:project-env
export PRIVATE_KEY=0x...
npm run forge:deploy
npm run hh:deploy
```
Use **`--legacy --with-gas-price 1000000000`** on Foundry for Besu chain minimum (see `smom-dbis-138` deployment docs).
OpenZeppelin is pinned to **4.8.3** so Thirdweb 3.15 compiles (avoids `_contextSuffixLength` conflicts with OZ 4.9+).
## CREATE2 on VMID 2103
`Create2Factory` + `Create2Probe` (`src/`) and `script/Create2DeployTest.s.sol` deploy via OpenZeppelin `Create2`, assert `predictProbe(salt) == deployProbe(salt)`, and read `VMID_TAG == 2103`.
```bash
npm run forge:create2:dry-run
npm run deploy:create2:project-env # needs PRIVATE_KEY via load-project-env
```