Это зависит от вашей версии web3. если вы используете 1.2.1
Сначала вам нужно создать необработанную транзакцию, а затем подписать ее своим закрытым ключом. После того как вы подписали транзакцию с вами, вы можете использовать метод sendSignedTransaction
для отправки транзакции в блокчейн. См. Это
Для необработанной транзакции вам необходимо отправить ether
(зависит от цены токена и стоимости токена, который вы хотите приобрести). В токен-контракте будет использоваться функция payable для получения эфира по смарт-контракту.
Как только смарт-контракт получит сумму, адрес отправителя получит желаемое количество токенов.
Другой вариантбудет с использованием MetaMask Extension