Модернизировать исходный код Geth
Создать форк репозитория go-ethereum (https://github.com/ethereum/go-ethereum.git) со следующими изменениями в исходном коде:
1. Разрешить транзакции перевода нативной валюты на любые адреса только для адресов из определенного списка «allowed_from.txt». Если этого файла нет, переводы разрешаются со всех адресов.
2. Разрешить транзакции перевода нативной валюты с любого адреса, но только на адреса из определенного списка «allowed_to.txt». Если этого файла нет, переводы разрешаются на все адреса.
3. Разрешить деплой смарт-контрактов только с определенного списка адресов «allowed_smart_deploy.txt». Если этого файла нет, деплой смарт-контрактов разрешается со всех адресов.
4. Перечисленные выше списки должны подгружаться при старте скомпилированной ноды из конфигурационных файлов:
• $datadir/allowed_from.txt
• $datadir/allowed_to.txt
• $datadir/allowed_smart_deploy.txt
5. Никакой другой функционал работы ноды Geth не должен быть нарушен.
Адресами являются как адреса пользовательских кошельков, так и адреса смарт-контрактов. Также, для смарт-контрактов не должно быть ограничений по payable транзакциям в их сторону и send транзакциям с их стороны.