Здравствуйте. Есть контракт на базе Ethereum. Что бы с ним взаимодействовать (в данном случае мне нужно отправить функцию approve) мне нужно синхронизировать контракт с MetaMask, через нажатие кнопки Write Contract - Connect with Metamask:

И уже работать с ним.
Я хочу вынести функцию апрув к себе на страницу (на фронт-енд).
Грубо говоря, хочу полностью вынести работу с контрактом к себе на страницу.
Незнаю с чего начать, как это вообще происходит.
Может есть какое-то API - какой вообще стек для этого нужен?
Если придется заказать разработку, даже незнаю кого искать.