---
# System prepended metadata

title: Для Джейдилдо

---

# Для Джейдилдо

### Необходимо:

Передавать сообщение от А к Б

Где А и Б это клиенты с соединением 

#### Каждое сообщение - может быть либо

1) Новый стейт
2) Подпись
3) Предложение вывести 
4) Просьба создать пустой стейт


#### Стейт

Состоит из

1) Подпись А
2) Подпись Б
3) (два числа uint64)
4) Шаг (uint64)

#### Пример сообщения (Новый стейт)

**ДАНО:**

Стейт {
    Подпись А = есть
    Подпись B = есть
    Балансы (А,B) = (100, 50)
    Шаг = 0
}

По балансам нужно сразу понимать, чей А, а чей B

Так что это готовься, что он будет меняться в структуре

**Действие:**

1) А меняет данный стейт:

**Новый** Стейт {
    Подпись А = есть
    Подпись B = **нужно запросить**
    Балансы (А,B) = (90, 60) 
    // А перевел B 10 условных единиц у.е далее
    Шаг = 1 
    // Шаг новый сделал А
}

2) А отправляет **Новый** Стейт B с запросом (Новый стейт) 

3) B должен получить стейт, проверить его, сделать подпись B и передать А с сообщением (Подпись)

ТО, что должен получить А


**Новый** Стейт {
    Подпись А = есть
    Подпись B = есть
    Балансы (А,B) = (90, 60) 
    Шаг = 1 
}

4) Далее А ждет сообщения от В с информацией о новом стейте или может запросить пустой стейт



### Что должно быть в консоле

Мой баланс

Инфа о том, моя ли очередь или нет

Возможность сделать перевод или сделать запрос, чтобы его сделать


Если приходит сообщение - то нужно его подписать (должна быть операция подписать)

### Подпись

Нужно использовать TON совместимую кривую для этого

Тут нужен Кирилл

Пока можешь просто сделать функцию, которая возвращает один и тот же результат в bytes[] 
