Каталог решений - Кошелек Etherium на 1С

Кошелек Etherium на 1С

Кошелек Etherium на 1С

В наличии

Реализация онлайн кошелька на Blockchain Etherium написанный на 1С.
Тестовая Beta версия. Работает в тестовой сети Rinkeby! может рабоатать и на остальныих(позже).

Категория:

Описание

Реализация кошелька на Blockchain Etherium написанный на 1С.

Возможности:

  1. Получение баланса по приватному ключу.
  2. Получение гиперссылок на etherscan
  3. Отправка транзакции(eth)

Планируется: 

  1. Получение данных по токенам Смартконтрактов
  2. Взаимодействие со Смартконтрактами
  3. Улучшение Дизайна
  4. Публикация Смартконтрактов и токенов.
  5. Сжигание токенов.
  6. Блокировка токенов.
  7. Хранение приватных ключей в зашифрованном виде.

итп

Часть кода написана на JavaSript. В виду того что Solidity основан на JavaSrcipt VM, думаю это норма.

За основу взят официальный API Etherium Fundation — docs.ethers 

 

Ограничения кошелек работает в тестовой сети Rinkeby. Может работать и на остальных, но это позже.

Для получения тестовых эфиров в сети Rinkeby используйте сайт https://rinkebyfaucet.com/

Для создания кошелька эфира по мнемонической фразе используйте https://www.myetherwallet.com/

 

Части кода

Инициализация кошелька:

let privateKey = "0xdc8b766bd5681056438e8f57f04d0b2ed0aa987adaeff3e305a8d4da62150736";

let provider = ethers.getDefaultProvider('rinkeby');
let wallet = new ethers.Wallet(privateKey, provider);

 

Получение баланса кошелька

let balancePromise  = wallet.getBalance();
  balancePromise.then((balance) => {
    console.log(balance);
});

 

 

Отправка транзакции в сеть(Перевод монет и токенов)

let amount = ethers.utils.parseEther('0.000000000001');
//let amount = 1;

let tx = {
    to: Reciever_address,
    value: amount 
};

let sendPromise = wallet.sendTransaction(tx);

sendPromise.then((tx) => {
document.write(JSON.stringify(tx));
    console.log(tx);
});

Как мы видим выше, функции выполняются Асинхронно. В 1С этого добиться тяжело даже после того как ввели префикс Асинх. Пришлось использовать обработчики ожидания —

&НаКлиенте
Процедура Баланс()
	элементы.ГиперсслкаКошелек.Заголовок = "Получение данных!";
	 Документ = Элементы.ДокументHTML.Документ;
	 //Объект.БалансКошелькаETH=АсинхронныеВызовы.БалансАсинхронно(Документ);	
	 Документ.defaultView.Check_balance();
	 БалансКошелькаETH =  Документ.defaultView.async_balance();
	 Если БалансКошелькаETH="Nll" тогда
		 ПодключитьОбработчикОжидания("Баланс",1);
	 иначе                                         
		 объект.БалансКошелькаETH=БалансКошелькаETH; 
		 ОтключитьОбработчикОжидания("Баланс");
		 элементы.ГиперсслкаКошелек.Заголовок = Документ.defaultView.GetWallet();
		Документ.defaultView.return_OK() 

	 КонецЕсли;	 
КонецПроцедуры

 

В связи с чем работа замедляется на 1 — 3 секунды

 

Для тек кто не может заплатить 5 инфомани, опишите свою жизненную ситуацию, и если она будет позитивно отреагирована сообществом вышлю бесплатно 😉

Для кого это надо? 

  1. Программистам 1С, которые решили погрузиться в Blockchain Etherium, Binance Smart Chain итп.
  2. или наоборот Blockchain разработчикам, которые устали программировать и получать деньги в токенах и $, хотят стать Программистами 1С и получать зарплату в стабильной валюте (рублях) на карточку стабильного Сбера.

Всем спасибо.

has been added to your cart:
Оформление заказа