Скорее всего, вы используете персональный API и разблокируете свои учетные записи. Существует множество ботов, которые периодически сканируют и пытаются найти открытые конечные точки RPC Ethereum (чаще всего обнаруживаются при сканировании порта 8545), которые выставляют персональный API.
Вам следует принять во внимание одно или оба из следующих действий:
Не хранить ключи на своих узлах и предварительно подписывать транзакции в коде или с помощью внешнего кошелька, такого как MetaMask.
Отсутствие доступа к конечной точке RPC в Интернете и ее привязка к определенным клиентам, таким как DApp.
Существует очень хорошее учебное руководство (хотя в C++) о хостинге IContextMenu на блоге Raymond Chen в 11 частях (в порядке):
Я записал библиотеку, которая смогла помогать Вам. Вы могли использовать средства управления, обеспеченные библиотекой, или если Вы не хотите делать, это, просматривая код может дать Вам ответ.
Можно найти библиотеку в: http://gong-shell.sourceforge.net/
Сообщите мне, помогло ли это!
Я нашел отличную статью Code Project, в которой все очень красиво инкапсулируется в один класс!
Контекстное меню оболочки проводника
Это так же просто, как следующий фрагмент кода:
// Sample code
ShellContextMenu ctxMnu = new ShellContextMenu();
FileInfo[] arrFI = new FileInfo[1];
arrFI[0] = new FileInfo(this.treeMain.SelectedNode.Tag.ToString());
ctxMnu.ShowContextMenu(arrFI, this.PointToScreen(new Point(e.X, e.Y)));
Единственный утомляет то, что он принимает либо массив FileInfo [], либо массив DirectoryInfo [], хотя было ОЧЕНЬ легко немного изменить источник, чтобы он занимал массив FileSystemInfo []