Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Как вытащить переменные из блокчейна, если в Node-js уже есть его SDK? (https://javascript.ru/forum/node-js-io-js/84208-kak-vytashhit-peremennye-iz-blokchejjna-esli-v-node-js-uzhe-est-ego-sdk.html)

Ds444 07.07.2022 07:00

Как вытащить переменные из блокчейна, если в Node-js уже есть его SDK?
 
Глядите: есть такая штука, как сеть со скрытыми смарт-контрактами. Вот её тестовый вариант. Там было учебное пособие, как создать учебный скрытый смарт-контракт в тестовой сети и запустить его.

На компьютере запустил – всё работает. Теперь нужно создать сайт, чтоб я нажимал кнопку на главной странице и этот контракт исполнялся так же, как из клиента на компьютере. Спросил у разрабов в их Дискорде, что для этого нужно. Они направили меня вот сюда. Это SDK Secret network на JS.

Пришлось начать изучать JS. Решил изучать сразу на практике. Завёл себе хостинг и доменное имя, установил там Node.js по этой инструкции, установил на Node.js их SDK вот отсюда командой
npm i secretjs@beta
(разрабы Secret сказали, что лучше дописать к команде установки "@beta").

Всё установлено правильно,потому что простые примеры уроков JS из сети работают. Хоть в index.htm их запускай, хоть в app.js. А когда я взял первый попавшийся пример из secretjs: Sending Queries и в стартовый файл бекенда скопировал скрипт из примера, запустив его на хостинге – выдаёт такую ошибку:



Кто подскажет, как сделать так, чтоб всё заработало? Чтоб я смог вывести на экран любую переменную из примера. Везде гуглил – именно этой разгадки нет. Мне бы только понять, какие файлы должны быть бекенде и фронтенде – дальше я разберусь.

Первая строка из примера так и должна выглядеть?

import { SecretNetworkClient, grpc } from "secretjs"


Она должна брать подгруженное SDK из Node.js или её нужно заменить на конкретный адрес расположения secretjs? Может, системе чего-то не хватает? Путь PATH нужно указывать, если secretjs уже подгружена в Nodejs? Как подружить фронтенд и бекенд, чтоб они читали инфу из тестовой сети? Как запустить тот пример?

voraa 09.07.2022 01:39

Оператор import возможен только в модулях Es6
В node модули должны иметь расширение .mjs (а не .js)

Ds444 10.07.2022 00:40

Хорошо, допустим. А что нужно сделать на практике? Что пишем в файл запуска app.mjs? Или лучше запускать index.htm с подключением app.mjs? Как сказать системе, что это модуль ES6?

voraa 10.07.2022 19:40

Вы для чего код пишите, для Node, или для браузера?
Если для node, то при чем тут html?

Ds444 11.07.2022 03:02

Мне просто нужно понять, как управлять функциями смарт-контракта из браузера. Подойдут любые варианты. Хоть как. Сейчас моя цель – исполнение учебного смарт-контракта по нажатию кнопки на сайте. Он уже есть в тестовой сети. Нигде не могу найти туториал, что для этого должно быть в коде и с чего вообще начать. Как заставить те примеры работать? Мне бы первый рабочий код, а дальше я по нему разберусь.

Ds444 11.07.2022 03:52

А не это ли ответ? Этой инструкции раньше не было. Оно ведь?

Видимо они убрали старые инструкции по быстрому старту контрактов и опубликовали новые с учётом фронтенд-разработки. Мне пришлось искать "быстрый старт смарт-контрактов" на Веб-архиве. Нужна пауза для изучения. Там некоторые разделы ещё пустые. Судя по всему, всё делается через React.


Часовой пояс GMT +3, время: 04:07.