Как создать белый список как смарт-актив? - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужен кто-то, чтобы помочь мне создать простой умный актив.Я просто хочу, чтобы вы не могли торговать ни под какой парой, и чтобы она могла быть отправлена ​​только на 2 конкретных адреса Waves.Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете добавить список адресов в учетную запись отправителя, используя Транзакция данных в Консоль Waves (здесь я добавил два адреса в белый список), а затем передайте транзакцию наnetwork:

const DataTx = 
data(
{
data: [
{key: "3Mt2yEuqDZVSfN7jqzvtkresLRah329k2ya", value: 12},
{key: "3N17vWKRThx5eKkPLC18UjyUuFr4X3sSKCD", value: 10}], 
fee: 1500000
}
   )
broadcast(DataTx)

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

let whiteListAccount = tx.sender //In this line, we just defined the sender (in our case Bob).
match tx 
{  
case tx : TransferTransaction => let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes)
isDefined(getInteger(whiteListAccount, recipient))
case _ => true 
}

После этого вам нужно будет скомпилировать смарт-контракт и установить скрипт в Waves Console следующим образом:

const Tx = setScript
 (
{
Script: compile(contract()),
senderPublicKey:publicKey(),
Fee:1400000
}
 )

broadcast(Tx)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...