🌐 EOS-In-A-Box – начните использовать EOS уже сегодня! (@someguy123)

in #eos7 years ago

В декабре EOS Dawn V2 был запущен в тестовом режиме. А это значит, что теперь все желающие могут поиграться с EOS и его смарт-контрактами, трансферами и просматривать свои аккаунты.

К сожалению, EOS еще не опубликовали свои докер-образы в двоичном формате, но я решил опубликовать их самостоятельно. Также я портировал Steem-in-a-box, настроив его так, чтобы он лучше работал с EOS.

Эти докер-образы, в отличие от Steem-in-a-box, созданы из официального докер-файла в репозитории EOSIO/eos. Собрать EOS сложнее, поэтому я сэкономил время и использовал их докер, который работает просто отлично :)

Шаг 1. Берем сервер!


Выберите сервер-провайдера, который вам по нраву. Я рекомендую Privex, потому что он принимает STEEM :) (дисклеймер: я являюсь генеральным директором Privex Inc. – но наши услуги пользуются популярностью в сообществе).

Пока что сеть небольшая, поэтому будет достаточно VPS даже на 2 ГБ. Если вы планируете запускать ноду заверителя EOS (производителя) во время следующего запуска Тестнета или Главной сети, то лучше запастись не менее 8 или даже 16 ГБ оперативной памяти.

Шаг 2. Установка EOS-in-a-box


EOS-in-a-box производит установку докера, берет мой образ и запускает сервер с верно настроенными портами и правильными параметрами.

Давайте приступим:

apt update
apt install git curl wget
git clone https://github.com/someguy123/eos-docker.git
cd eos-docker
./run.sh install_docker

Это установит Докер. Если вы запустились как “ubuntu” или что-то подобное, рекомендуется выйти, а затем снова войти (закрыть SSH и открыть его снова), чтобы настроить свои права доступа.
Теперь давайте возьмем мой образ и загрузим EOS!

./run.sh install

Chris: вопрос: вы улучшили архитектуру shared_memory в EOS или все равно лучше кидать все в RAM, если ты заверитель/производитель?
Daniel Larimer: мы все еще используем прежний chainbase код из Steem
Josh: выходит, что 14 из 21 должны быть злоумышленниками
Daniel Larimer: нами разработана, но пока не интегрирована новая база данных совместной памяти, спроектированная для параллельного доступа
14 злоумышленников требуется для создания фальшивого необратимого блока

Как поясняет @dantheman@dan, EOS все еще использует старый код shared_memory от Steem. Это означает, что для реального заверителя/производителя вы, очевидно, должны использовать /dev/shm (RAM-диск). EOS-in-a-box настроен для подключения /dev/shm к /shm, если вы хотите изменить свой config.ini. Когда будет выпущена полноценная версия EOS, в EOS-in-a-box будет включена конфигурация, по умолчанию использующая /dev/shm с предварительно заданным списком сидов для быстрого развертывания.

В режиме тестирования это не имеет значения, так что давайте просто начнем.

./run.sh start

EOS будет запущен, вы можете это подтвердить вводом ./run.sh status или docker ps

ubuntu@chris-eos:~/eos-docker$ ./run.sh status
Container exists?: YES
Container running?: YES
ubuntu@chris-eos:~/eos-docker$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
87f80dd1b318        eos                 "start_eosd.sh"     20 seconds ago      Up 19 seconds                           seed
ubuntu@chris-eos:~/eos-docker$

Давайте, наконец, активируем API кошелька и перезапустим его.

nano data/config.ini

Добавьте в конец файла

plugin = eosio::wallet_api_plugin

Сохраните и закройте файл (для nano это CTRL-X, и введите yes для сохранения)

Теперь давайте перезапустим EOS:

./run.sh restart

Используем кошелек


Кошелек немного отличается от STEEM. Вот несколько примеров его использования:

Создать кошелек

ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet create -n test
Creating wallet: test
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5KhAdia26ZWmvpPFPX6G3ppCpzPAaumHbmLgaKejtsQ13mNiS8g"



Закрыть кошелек

ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet lock -n test
Locked: test



Открыть кошелек

ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet unlock -n test
password: Unlocked: test



Импортировать ваш приватный ключ
(да, это рандомный приватный ключ. нет, он не содержит сколько-нибудь токенов EOS)

ubuntu@chris-eos:~/eos-docker$ ./run.sh wallet import -n test 5JtrsfV1SaQmuSWV4qpwqHqK2Pk4idvwskumZKWF4DXYJRn9iWE
imported private key for: EOS5GjCUAzNha1dmLVgtY2JxqjHZ9Rb33FMWdEsmUEM6sSd7t7nAG

Используем клиент


Помимо кошелька у EOS есть свой “клиент”. Чтобы сделать его простым в обращении, вы можете использовать

./run.sh client

Пример

ubuntu@chris-eos:~/eos-docker$ ./run.sh client version client
Build version: 9703495c

Запрос публичного тестнета

Для запроса публичного тестнета вы должны настроить свой хост на testnet1.eos.io – в настоящее время не существует безопасного р2р функционала, поэтому вы должны направить свой клиент на их публичный сервер; вы не можете подключить локальный тестнет к публичному тестнету.

Chris: так как мне подключить свой EOS к главному тестнету?
Kevin Heifner: В предстоящем релизе планируется выполнять подключение при помощи eosd. Совсем скоро мы анонсируем выпуск.

Пример – Получить блок

ubuntu@chris-eos:~/eos-docker$ ./run.sh client -H testnet1.eos.io -p 80 get block 10000
{
  "previous": "0000270f69c1a22dc6463335325b01ac03b25af8891dfc88ac0418f88b62f062",
  "timestamp": "2017-12-04T22:41:46",
  "transaction_merkle_root": "0000000000000000000000000000000000000000000000000000000000000000",
  "producer": "initq",
  "producer_changes": [],
  "producer_signature": "1f77718a0efb56ef43a0adcd10108ec058aa9760b2a3bc59dcae967637a2ac72dc68077d232026de5d929a1d55a4bbd0bc4d040d44dc2380ac4e1107f1a61e170b",
  "cycles": [],
  "id": "00002710ebdfd9569d544ed746bb49d7a93e813190f3b4d138a0874d4da05cdd",
  "block_num": 10000,
  "ref_block_prefix": 3612234909
}

Узнаем свой юзернейм


Чтобы узнать свой юзернейм в публичном тестнете, отправляйтесь по ссылке

https://eosio.github.io/genesis/tools/account-name/index.html и введите ваш публичный ключ EOS, либо ваш ETH адрес, использованный для покупки токенов.

После этого вы можете увидеть свой аккаунт с помощью клиента:

Пример

ubuntu@chris-eos:~/eos-docker$ ./run.sh client -H testnet1.eos.io -p 80 get account yourname
{
  "account_name": "yourname",
  "eos_balance": "999570.0000 EOS",
  "staked_balance": "0.0000 EOS",
  "unstaking_balance": "0.0000 EOS",
  "last_unstaking_time": "1969-12-31T23:59:59",
  "permissions": [{
...

Могу ли я настроить заверителя (производителя)?


Нет. Смотрите предыдущий скриншот в разделе “Используем клиент”. В настоящее время невозможно запустить производителя или даже подключить EOSD к основной сети.

Но, по крайней мере, это раннее доказательство концепции, с которым можно поиграться :)

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


Переведено @blockchained

Оригинал поста: ЗДЕСЬ


Если вам нравится то, что мы делаем - поддержите witness blockchained на Steem!


Sort:  

Excellent work I liked it so much I wish I could continue your work on this as I will give you all the support I hope you will support me if possible Thank you for your time

Hi blockchained can you pkz translate in english so other viewers ll enjoy it also included me.. Post is looking good but cant understand it

Ok thanx for favour.. I ll cheq it soon..

Спасибо за инфу👍🚀