Skip to main content
Viem — это TypeScript-интерфейс для Ethereum, предоставляющий низкоуровневые stateless-примитивы для взаимодействия с Ethereum. Вы можете взаимодействовать с Virtual Environments с помощью стандартных RPC-методов, скопировав Public RPC, а также пользовательских методов, доступных в Node RPC, скопировав Admin RPC.

Примеры кода: использование Viem с Virtual Environments

Определите кастомную цепочку

Создайте файл tenderly.config.ts и используйте defineChain для создания объекта цепочки.
Если при создании Virtual Environment вы указали уникальный Chain ID, вам нужно создать новый объект цепочки и установить id в выбранное значение.
virtual-environments/src/tenderly.config.ts

Определите Viem-actions для пользовательских RPC-методов

Определите Viem-actions для пользовательских RPC-методов, таких как tenderly_setBalance, tenderly_setErc20Balance и simulate. Например, следующий файл определяет action tenderlySetBalance, который будет вызывать tenderly_setBalance. Больше actions можно найти здесь:

Viem-actions для пользовательских RPC-методов

virtual-environments/src/viem-tenderly-actions.ts

Вызов стандартных и пользовательских RPC-методов

В этом примере вы можете увидеть, как:
  • Вызвать Viem’овский createPublicClient и передать следующие аргументы:
  • chain: установлен в vMainnet, определённый на предыдущем шаге
  • transport: либо вызов http, установленный в https RPC URL.
virtual-environments/src/viem-call-balance-top-up.ts

Симуляция транзакций с помощью viem

Чтобы использовать Simulation RPC методы Virtual Environment, просто выполните request для вызова tenderly_simulateTransaction:
virtual-environments/src/viem-call-simulate.ts

Трассировка транзакций с помощью Viem

Используйте tenderly_traceTransaction, чтобы получить полностью декодированную трассировку транзакции.
node/samples/viem/2-transaction-trace.ts