Крипто
October 15

MixWallet на смартконтракте в сети Tron

В этой статье хотелось бы рассказать о рабочем мик.. анонимном кошельке на базе смартконтракта в сети Tron. Работает с TRX и USDT.

Сначала ссылки:

Майнет сети tron

Тестнет сети tron

Все операции и скрины буду прилагать с тестнета, так как там проще. Разницы в коде между тестнетом и майнетом нет. Это один и тот же смартконтракт.

Смартконтракт представляет собой кошелек, где каждый пользователь может создать внутри смартконтракта неограниченное множество внутрених адресов вида 0x9bc103a989f6b553b704ae0433f0702b080b1742cae0080ac80a6a7ccbea66a4

Причем создавая новый адрес, старый продолжает работать. Пользователь может перемещать свои активы либо на своем исходном кошельке tron но между внутренними адресами, либо может переместить по внутреннему адресу на другой кошелек tron. Далее пользователь может вывести там сумму частями или полностью. При некой толике фантазии можно перемешать свои активы и запутать стороннего наблюдателя очень сильно.

Смартконтракт при создании учетной записи адреса (пополнении баланса) потребляет х2 газа сети. Поэтому советую пополнять на сумму не менее 1 trx или 1 usdt.

При работе смартконтракт потребляет энергию сети Tron, стоит это учитывать.

При работе с usdt нужно дать апрув на адресе смартконтракта usdt.
Смартконтракт usdt тестнет
Смартконтракт usdt майнет

Для этого идем в смартконтракт usdt по ссылкам выше, и далее как на картинке, вписывая адрес смартконтракта MixWalet


Поговорим о управлении.

Управляется смартконтракт через тронскан по ссылкам в начале статьи.
Например для получения текущих значений комисий идем по кнопкам как на рисунке:


Тут мы видим:

rate - процентная комиссия

minimum - минимальная комиссия

maximum - максимальная комиссия

depbonus - бонусный депозит

Как формируются комиссии? Все комиссии работают только на вывод актива со смартконтракта. Перемещение активов внутри смартконтракта не облагается никакими комиссиями.

При выводе суммы актива накладывается процентная комиссия которая не может быть меньше минимальной или больше максимальной комиссии. При этом, если на счете у пользователя находится обьем актива равный бонусному депозиту - то процентная комиссия уменьшается вдвое. Напомню, все комиссии применимы только при выводе актива.



Внесение актива происходит через кнопки Deposit_TRX или Deposit_USDT

Сумма пополнения указывается в 10-6 доле.
например нам нужно положить в кошелек MixWallet 100 TRX. Для этого в поле Amount token to Send_unit256 вводим 100000000 (100 и 6ть нулей), поле recipientHashAddress_bytes32 можем оставить пустым, и тогда внесенный актив упадет на наш акаунт, либо можем ввести внутрений адрес того кошелька, куда хотим сделать перевод, например 0x8940294cce8e0b90454e536288531a9a5316cb88f04dcacbea3ccece337a3186

и тогда внесенная сумма TRX или USDT упадет на внутренний счет адреса назначения.
Таким образом при начале использования советую внести несколько трон на внутренний адрес смартконтракта (для регистрации пользователя) и создать себе несколько внутренних адресов.

Посмотреть все свои адреса можно по кнопке MyHashAddress

Проверить свой баланс можно по кнопке CheckBalance

Тут хочу пояснить:

trxBalance: 1 - текущий баланс trx на адресе

usdtBalance: 12252 - текущий баланс usdt на адресе

Эти балансы вы можете перемещать внутри смартконтракта полностью, и не платить комиссий.

hashAddress: 0x9bc103a989...a6a7ccbea66a4 - последний созданый вами хеш адрес для приема переводов

availableWithdrawTrxAmount: 0 -

availableWithdrawUsdtAmount: 12152 - значения актива, которые вы можете вывести на свой адрес трон из смартконтракта (с учетом комиссий)

trxCommission: 10

usdtCommission: 100 - текущие комиссии на ваш баланс (применяются при выводе актива на адрес трон)

Создать +1 хеш-адрес можно по кнопке CreateHashAddress.

Кнопки TransferTRX_ToHashAddress и TransferUSDT_ToHashAddress позволяют переводить свой актив внутри смартконтракта как в пределах одного адреса трон на заранее созданый вами хешадрес смартконтракта, так и на другой адрес трон на его хеш адрес. На картинке перевожу 100 (10-6) трон на адрес 0xc4b3db3806111a8cbbbcef9b7bd89463e80bf03d20337d7ed723569427064630

Вывод актива с баланса смартконтракта на адрес вашего трон кошелька происходит по кнопкам Withdraw_TRX или Withdraw_USDT.

Причем выводится на тот кошелек, с которого подписываете эту транзакцию.

На картинке вывожу 100 trx (10-6) на свой трон адрес.

В сумму баланса на вывод нужно вводить сумму актива с учетом комиссии, ее мы обсуждали выше, в меню баланса CheckBalance.

Пока на этом все, в дальнейшем буду статью дописывать.