решения на PHP требуют, чтобы на сервере или где-то рядом была взведена боевая ethereum-нода (на сегодня 80Гб)
предлагаю сделать решение вообще без серверной части:
1. написать контракт с функцией faucet, которая будет высылать токены, тому кто ее вызовет
2. вызов функции faucet сделать на javascript с использованием MetaMask
минусы:
1. в таком варианте нельзя запретить отправку несколько раз по одному и тому же ip-адресу, зато можно запретит по одному ethereum-адресу
2. юзер должен использовать Chrome или Firefox с установленным расширением MetaMask
3. у юзера в кошельке должно быть немного eth для оплаты газа