Автоматический перенос эфира Nethereum C #

Обновление: сентябрь 2016 года: существует несколько инструментов, созданных сообществом, которые могут сделать это для вас:


Git не поддерживает это, но Github делает через SVN. Если вы проверите свой код с помощью subversion, Github по существу преобразует репо из git в subversion на бэкэнд, а затем обслуживает запрошенный каталог.

Вот как вы можете использовать эту функцию для загрузки определенной папки. В качестве примера я использую популярную библиотеку javascript lodash.

  1. Получите URL-адрес репо. Сначала скопируйте URL-адрес репозитория Github в буфер обмена.
  2. Измените URL-адрес для подрывной деятельности. Я хочу загрузить папку в /docs из ветки master, поэтому добавлю trunk/docs. Полный URL-адрес теперь https://github.com/lodash/lodash/trunk/docs. См. Мою заметку ниже для более подробного объяснения того, почему мы должны использовать этот формат URL.
  3. Загрузите папку. Перейдите в командную строку и возьмите папку с SVN. svn checkout https://github.com/lodash/lodash/trunk/docs

Вы можете не видеть никакой активности сразу, потому что Github занимает до 30 секунд, чтобы конвертировать большие репозитории, поэтому будьте терпеливы.

Полное описание формата URL:

  • Если вас интересует ветка master, вместо этого используйте trunk. Таким образом, полный путь trunk/foldername
  • Если вас интересует ветка foo, вместо этого используйте branches/foo. Полный путь выглядит как branches/foo/foldername
  • Protip: вы можете использовать svn ls для просмотра доступных тегов и ветвей перед загрузкой, если хотите

. Это все! Github также поддерживает дополнительные функции subversion , включая поддержку для фиксации и нажатия изменений.

0
задан Skyuppercut 13 July 2018 в 06:40
поделиться

1 ответ

То, что вы сейчас делаете, ждет, пока каждая транзакция будет добыта. Вы можете сделать следующее:

var account = new Account("privateKey"); // or load it from your keystore file as you are doing.
var web3 = new Web3(account, "https://mainnet.infura.io");

Сначала создайте экземпляр web3, используя тот же объект Account, потому что мы используем учетную запись с закрытым ключом, Nethereum будет подписывать ваши транзакции в автономном режиме перед их отправкой.

Теперь, используя TransactionManager, вы можете отправить транзакцию для каждого получателя

var transactionHashes = new List<string>();
foreach(var recepient in recepients){

            var transactionInput = new TransactionInput
            {
                From = account.Address,
                GasPrice = Web3.Convert.ToWei(1.5, UnitConversion.EthUnit.Gwei);,
                To = recipient.Address,
                Value = new HexBigInteger(new BigInteger(recipient.Value)),
            };
     var transactionHash = web3.Eth.TransactionManager.SendTransactionAsync(transactionInput);
     transanctionHashes.Add(transactionHash);
}

. Обратите внимание, что когда Nethereum использует тот же экземпляр учетной записи и TransactionManager (или Web3 в этом сценарии ), он создает стандартную функцию NonceMemoryService, поэтому вам не нужно отслеживать ваши номера (номер транзакции), чтобы подписать транзакцию.

Также я сделал преобразование для GasPrice от Gwei до Wei, в качестве примера преобразований Единицы, я предполагаю, что вы уже конвертировали в суммы Wei Ether, которые вы собираетесь отправить.

Наконец, еще одно примечание, чтобы еще больше упростить это, существует предстоящий EtherTransferService, который позволяет вам для ввода количества эфира и суммы цены Gwei, чтобы избежать совершения конверсий. Также будет рассчитана цена на газ для вас, если не будет передан какой-либо параметр.

 web3.Eth.GetEtherTransferService().TransferEtherAsync("toAddress", EtherAmount); 
1
ответ дан Juan Blanco 17 August 2018 в 13:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: