MixWallet на смартконтракте в сети Tron
В этой статье хотелось бы рассказать о рабочем мик.. анонимном кошельке на базе смартконтракта в сети Tron. Работает с TRX и USDT.
Сначала ссылки:
Все операции и скрины буду прилагать с тестнета, так как там проще. Разницы в коде между тестнетом и майнетом нет. Это один и тот же смартконтракт.
Смартконтракт представляет собой кошелек, где каждый пользователь может создать внутри смартконтракта неограниченное множество внутрених адресов вида 0x9bc103a989f6b553b704ae0433f0702b080b1742cae0080ac80a6a7ccbea66a4
Причем создавая новый адрес, старый продолжает работать. Пользователь может перемещать свои активы либо на своем исходном кошельке tron но между внутренними адресами, либо может переместить по внутреннему адресу на другой кошелек tron. Далее пользователь может вывести там сумму частями или полностью. При некой толике фантазии можно перемешать свои активы и запутать стороннего наблюдателя очень сильно.
Смартконтракт при создании учетной записи адреса (пополнении баланса) потребляет х2 газа сети. Поэтому советую пополнять на сумму не менее 1 trx или 1 usdt.
При работе смартконтракт потребляет энергию сети Tron, стоит это учитывать.
При работе с usdt нужно дать апрув на адресе смартконтракта usdt.
Смартконтракт usdt тестнет
Смартконтракт usdt майнет
Для этого идем в смартконтракт usdt по ссылкам выше, и далее как на картинке, вписывая адрес смартконтракта MixWalet
Поговорим о управлении.
Управляется смартконтракт через тронскан по ссылкам в начале статьи.
Например для получения текущих значений комисий идем по кнопкам как на рисунке:
minimum - минимальная комиссия
maximum - максимальная комиссия
Как формируются комиссии? Все комиссии работают только на вывод актива со смартконтракта. Перемещение активов внутри смартконтракта не облагается никакими комиссиями.
При выводе суммы актива накладывается процентная комиссия которая не может быть меньше минимальной или больше максимальной комиссии. При этом, если на счете у пользователя находится обьем актива равный бонусному депозиту - то процентная комиссия уменьшается вдвое. Напомню, все комиссии применимы только при выводе актива.
Внесение актива происходит через кнопки 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 - значения актива, которые вы можете вывести на свой адрес трон из смартконтракта (с учетом комиссий)
usdtCommission: 100 - текущие комиссии на ваш баланс (применяются при выводе актива на адрес трон)
Создать +1 хеш-адрес можно по кнопке CreateHashAddress.
Кнопки TransferTRX_ToHashAddress и TransferUSDT_ToHashAddress позволяют переводить свой актив внутри смартконтракта как в пределах одного адреса трон на заранее созданый вами хешадрес смартконтракта, так и на другой адрес трон на его хеш адрес. На картинке перевожу 100 (10-6) трон на адрес 0xc4b3db3806111a8cbbbcef9b7bd89463e80bf03d20337d7ed723569427064630
Вывод актива с баланса смартконтракта на адрес вашего трон кошелька происходит по кнопкам Withdraw_TRX или Withdraw_USDT.
Причем выводится на тот кошелек, с которого подписываете эту транзакцию.
На картинке вывожу 100 trx (10-6) на свой трон адрес.
В сумму баланса на вывод нужно вводить сумму актива с учетом комиссии, ее мы обсуждали выше, в меню баланса CheckBalance.