1603109340
Ближайшая конференция — DotNext 2020 Moscow
2-5 декабря, Online
Подробности и билеты: https://dotnext-moscow.ru/
. Речь пойдёт о достаточно редкой области, в которую почти не заглядывают в мире .NET: разграничение работы между ядрами процессора. В течение доклада мы сопоставим связь всего c SynchronizationContext и TaskScheduler, проанализируем, что нам необходимо, чтобы заставить как свои, так и чужие алгоритмы работать на тех ядрах, на которых работать было приказано, и о том, как это сделать правильно:
#dotnet #programming #developer
1603109340
Ближайшая конференция — DotNext 2020 Moscow
2-5 декабря, Online
Подробности и билеты: https://dotnext-moscow.ru/
. Речь пойдёт о достаточно редкой области, в которую почти не заглядывают в мире .NET: разграничение работы между ядрами процессора. В течение доклада мы сопоставим связь всего c SynchronizationContext и TaskScheduler, проанализируем, что нам необходимо, чтобы заставить как свои, так и чужие алгоритмы работать на тех ядрах, на которых работать было приказано, и о том, как это сделать правильно:
#dotnet #programming #developer
1654082100
Узнайте, как настроить смарт-контракт в Ganache, а затем перенести его в тестовую сеть Ethereum Rinkeby, тестовую сеть Polygon Mumbai, Binance Smart Chain и Polygon с помощью MetaMask.
В этом руководстве показано, как перенести смарт-контракт из локальной цепочки разработки в отдельные блокчейны, а также между разными цепочками.
Есть несколько причин, по которым смарт-контракт может быть перенесен на другой блокчейн. Некоторыми очевидными причинами являются более низкая плата за газ или более быстрое время транзакции. Также есть случаи, когда имеет смысл переместить контракт в другую цепочку, чтобы отладить контракт, обеспечить дополнительную безопасность или даже предоставить доступ к контракту, если он стал недоступен из-за кражи или технической проблемы.
В этом руководстве по миграции смарт-контрактов показано, как перенести смарт-контракт из локальной цепочки разработки в отдельные цепочки блоков и как перенести смарт-контракты между разными цепочками. В этой статье также представлен обзор нескольких блокчейнов и того, как они различаются в отношении миграции смарт-контрактов.
Чтобы следовать учебной части этой статьи, убедитесь, что у вас есть следующее:
Несколько факторов могут повлиять на решение о переносе смарт-контракта с одного блокчейна на другой. Давайте рассмотрим несколько примеров.
Блокчейн Ethereum — это децентрализованный, прозрачный и безопасный общедоступный блокчейн. На момент написания этой статьи Ethereum использует алгоритм консенсуса Proof of Work . Смарт-контракты могут быть созданы в сети Ethereum.
Каждая операция, выполненная в блокчейне Ethereum, независимо от того, успешна она или нет, должна оплачиваться комиссией за газ. Операцией может быть отправка количества эфира (криптовалюта Ethereum) с одной учетной записи на другую или развертывание контракта.
Плата за газ должна быть оплачена до того, как майнеры добавят транзакцию в блок. Ethereum устанавливает максимальное количество газа на блок, называемое лимитом газа в блоке .
Binance Smart Chain (BSC ) использует алгоритм консенсуса Proof of Stake . Как и Ethereum, он поддерживает создание смарт-контрактов.
Некоторыми стимулами для перехода с Ethereum на BSC являются более низкие комиссии Binance за газ и более быстрое время транзакций. Эти преимущества делают BSC более масштабируемой, чем Ethereum. Смарт-контракты Ethereum можно легко перенести на платформу BSC с минимальными изменениями кода или без них.
Однако у BSC есть некоторые недостатки, в том числе меньшая децентрализация. Это связано с наличием нескольких централизованных объектов, таких как 21 000 валидаторов узлов, которые прямо или косвенно принадлежат Binance и несут ответственность за более низкую комиссию за газ в сети.
Подобно BSC, блокчейн Polygon использует алгоритм консенсуса Proof of Stake. Polygon поддерживает создание смарт-контрактов и обеспечивает взаимодействие, обеспечивая перекрестную связь смарт-контрактов, запущенных на его блокчейне. Токен сети MATIC предлагает несколько функций, таких как оплата газа, размещение ставок и голосование.
Некоторыми стимулами для перехода с Ethereum на Polygon являются более быстрое время транзакций Polygon и более низкие комиссии за транзакции. Структура Polygon также делает его более масштабируемым, чем Ethereum. По мере увеличения количества узлов в сети Polygon экосистема расширяется, чтобы адекватно содержать узлы и обрабатывать их транзакции.
Теперь давайте посмотрим, как перенести смарт-контракты между разными цепочками.
В этом руководстве мы будем использовать смарт-контракт, написанный на Solidity и развернутый на платформе Tuffle Suite . Truffle Suite интегрируется с другими блокчейнами виртуальной машины Ethereum и имеет встроенные функции для создания, тестирования, компиляции и развертывания смарт-контрактов.
После развертывания смарт-контракта в локальной цепочке разработки мы продемонстрируем, как развернуть его на отдельных цепочках блоков. Мы будем использовать MetaMask для развертывания, чтобы легко видеть баланс нашего счета и историю транзакций.
Мы начнем с развертывания смарт-контракта в Ganache , инструменте моделирования блокчейна, созданном в среде Truffle. Это позволит нам обеспечить правильную компиляцию кода и отсутствие проблем с развертыванием.
Для начала клонируйте код смарт-контракта из этого репозитория GitHub в свой терминал. Затем в каталоге проекта выполните следующую команду, чтобы установить зависимости:
npm install
Прежде чем продолжить, убедитесь, что у вас установлен Ganache, так как это блокчейн разработки, который вы будете использовать.
Теперь запустите Ganache в своей системе и нажмите БЫСТРЫЙ СТАРТ , как показано ниже:
Далее мы развернем смарт-контракт, используя миграции, определенные в 2_deploy_migration.js
файле.
Сначала в вашем терминале и каталоге проекта выполните следующую команду, чтобы запустить блокчейн разработки:
truffle develop
Это запустит ваш блокчейн разработки с десятью адресами, каждый из которых содержит 100ETH и закрытые ключи:
Затем разверните смарт-контракт, выполнив следующую команду для выполнения всего кода в migration
папке:
migrate -reset
Вывод терминала показывает, что 2_deploy_migration.js
файл развернут. Выходные данные также показывают информацию о контракте, включая хэш транзакции, номер блока и адрес контракта.
Обратите внимание, что некоторая информация о смарт-контрактах, такая как value sent
и total cost
, предоставляется в ETH (валюта Ethereum). При переносе смарт-контракта вам необходимо сначала обновить любую информацию, которая находится в ETH, до собственной валюты блокчейна, на который вы переносите контракт.
Чтобы выйти из среды, дважды нажмите CTRL + C в терминале.
Теперь давайте посмотрим, как перенести смарт-контракт на блокчейн Ethereum.
Чтобы развернуть смарт-контракт из локальной цепочки блоков в сети Ethereum Rinkeby, вы должны сначала получить адрес.
Чтобы сгенерировать адрес, откройте свой кошелек MetaMask и подключитесь к тестовой сети Rinkeby.
Чтобы получить бесплатный эфир, используйте Faucets Chainlink , подключитесь к Rinkeby и вставьте адрес кошелька в поле.
Затем нажмите Отправить запрос .
Как показано ниже, на ваш кошелек должно быть отправлено 0,1 ETH.
Далее пришло время настроить Truffle. В редакторе кода откройте truffle-config.js
файл, чтобы определить конфигурации сети.
Проверьте truffle-config.js
документацию файла, где он определяет следующее:
/**
* Use this file to configure your truffle project. It's seeded with some
* common settings for different networks and features like migrations,
* compilation and testing. Uncomment the ones you need or modify
* them to suit your project as necessary.
*
* More information about configuration can be found at:
*
* https://trufflesuite.com/docs/truffle/reference/configuration
*
* To deploy via Infura you'll need a wallet provider (like @truffle/hdwallet-provider)
* to sign your transactions before they're sent to a remote public node. Infura accounts
* are available for free at: infura.io/register.
*
* You'll also need a mnemonic - the twelve-word phrase the wallet uses to generate
* public/private key pairs. If you're publishing your code to GitHub make sure you load this
* phrase from a file you've .gitignored so it doesn't accidentally become public.
*
*/
Затем создайте учетную запись на Infura: infura.io/register , затем создайте новый проект и нажмите « НАСТРОЙКИ ПРОЕКТА » в правом верхнем углу.
На вкладке «Общие» в разделе «Ключи» выберите RINKEBY в раскрывающемся списке «Конечные точки». Вы должны увидеть идентификатор вашего проекта, а также URL-адрес вашего узла на Infura.
NB, вы будете использовать @truffle/hdwallet-provider
зависимость, установленную в вашем package.json
файле, чтобы настроить вашего провайдера на ваш закрытый ключ в MetaMask.
В вашем truffle-config.js
файле укажите @truffle/hdwallet-provider
зависимость и создайте массив, в котором будут храниться ваши закрытые ключи:
const HDWalletProvider = require('@truffle/hdwallet-provider');
const privateKeys = ['<app your private key>'];
Теперь прокрутите вниз до раздела сетей и добавьте сценарий разработки, чтобы установить provider
ваш закрытый ключ в MetaMask и ваш URL-адрес для вашего узла в Infura:
development: {
provider: () => new
HDWalletProvider("<Your private key on metamask", `https://rinkeby.infura.io/v3/71acb374b9dd4e1eb06eeb9a75a8cd1a`),
network_id: 4, // Any network (default: none)
},
Вы заметите в приведенном выше коде, что network_id
установлено значение 4; это идентификатор сети для Rinkeby . Другие сети Ethereum имеют другие идентификаторы.
Затем выполните миграцию и конфигурацию, выполнив следующую команду:
truffle migrate -network development --reset
Теперь скопируйте хэш транзакции. Перейдите к MetaMask и нажмите View Account on Etherscan . В списке транзакций вы увидите только что развернутый хэш транзакции:
Нажмите на отдельную транзакцию, чтобы увидеть более подробную информацию:
Чтобы развернуть смарт-контракт в сети Polygon в Мумбаи, вы начнете с подключения своего кошелька MetaMask к Polygon. Откройте MetaMask и нажмите « Добавить сеть» , затем добавьте в соответствующие поля следующее:
Затем нажмите « Сохранить», и MetaMask подключится к Polygon.
Поскольку вы переносите контракт в тестовую сеть Polygon, вам потребуются токены MATIC для оплаты транзакции. Чтобы получить токены MATIC, откройте свой кошелек MetaMask и скопируйте адрес своего кошелька. Затем перейдите к крану Polygon и вставьте адрес в поле адреса кошелька. Нажмите «Отправить », затем нажмите «Подтвердить » .
Как показано ниже, вы должны увидеть подтверждение того, что запрос был отправлен.
Через несколько минут вы должны увидеть токены в своем кошельке MetaMask. Как только токены MATIC будут успешно переведены, они появятся на балансе вашего кошелька.
Затем в редакторе кода откройте truffle-config.js
файл. В сетевом сценарии добавьте сетевого провайдера для Polygon под сетевым провайдером для Ethereum. Вы будете использовать URL-адрес RPC для тестовой сети Mumbai, как указано в документации Polygon .
Скопируйте ссылку RPC , показанную ниже, https://rpc-mumbai.matic.today :
Затем вставьте ссылку RPC в код в качестве provider
URL-адреса. Также вставьте chainid (выше) в код как network_id
:
polygonTestnet: {
provider: () => new HDWalletProvider(privateKeys, `https://rpc-mumbai.matic.today`),
network_id: 80001, // Any network (default: none)
},
Теперь откройте свой терминал и запустите миграцию и настройку в тестовую сеть Polygon с помощью этой команды:
truffle migrate --network polygonTestnet --reset
Ниже вы можете увидеть, что ваш контракт был успешно перенесен:
Теперь скопируйте хэш транзакции. Откройте свою учетную запись MetaMask и нажмите « Просмотреть учетную запись в проводнике» :
Вы должны увидеть развернутый контракт с транзакцией в обозревателе блокчейна Polygonscan :
Чтобы развернуть ваш смарт-контракт в тестовой сети Binance Smart Chain. вам нужно будет получить токены BNB (это собственная валюта сети Binance Smart).
Вы начнете с подключения вашего кошелька MetaMask к BSC. Откройте MetaMask и нажмите « Добавить сеть»:
Далее добавьте в соответствующие поля следующее:
Затем нажмите « Сохранить», и MetaMask подключится к BSC и установит токен BNB на ноль:
Чтобы получить бесплатные токены BNB, откройте свой кошелек MetaMask и скопируйте адрес своего кошелька. Затем перейдите к сборщику Binance Smart Chain . В поле ввода адреса вставьте адрес своего кошелька MetaMask.
Теперь нажмите Дать мне BNB , и 1 BNB будет переведен на ваш кошелек MetaMask.
Вы можете подтвердить, что токен был отправлен, проверив баланс своей учетной записи MetaMask:
Теперь отредактируйте truffle-config.js
файл в редакторе кода и добавьте следующую конфигурацию для сети Binance Smart Chain:
bscTestnet: {
provider: () => new HDWalletProvider(privateKeys, `https://data-seed-prebsc-1-s1.binance.org:8545/`),
network_id: 97, // Any network (default: none)
},
Чтобы развернуть свой контракт в тестовой сети Binance Smart Chain, откройте терминал и выполните следующую команду:
truffle migrate --network bscTestnet --reset
Мы обсудили некоторые факторы, которые могут повлиять на решение о переносе смарт-контракта с одного блокчейна на другой. Теперь давайте рассмотрим несколько методов миграции смарт-контрактов.
Сеть Polkadot обеспечивает знакомую и безопасную среду, позволяющую блокчейнам легко взаимодействовать друг с другом.
Парачейны — это блокчейны уровня 1, которые взаимодействуют в экосистеме Polkadot. Парачейны не зависят друг от друга, но работают параллельно. Они связаны цепочкой ретрансляции сети . Это соединение обеспечивает межсетевое взаимодействие или возможность обмениваться данными .
Сеть Polkadot использует механизм консенсуса Proof of Stake за счет использования валидаторов и номинаторов . Коллаторы (показаны на рисунке ниже) сохраняют информацию о транзакциях в сети.
Парачейны позволяют разработчикам переносить контракты в экосистеме Polkadot, используя формат Polkadot Cross-Consensus Messaging (XCM) вместо упаковки и распаковки токенов (о чем мы поговорим в следующем разделе).
XCM используется для форматирования сообщений, отправляемых между цепочками, смарт-контрактами или мостами. XCM позволяет использовать определенный формат для отправки транзакций из одного кошелька в другой в течение длительного периода времени.
XCM имеет протоколы, которые воздействуют на сообщения с различными функциями: вертикальная передача сообщений (VMP) и передача сообщений между цепочками (XCMP).
Кроме того, XCM использует виртуальную машину перекрестного консенсуса (XCVM), которая содержит несколько инструкций, работающих как программа, и сообщения, которые необходимо передать. Инструкции в XCVM состоят из передаваемого сообщения и его адресата.
Кроме того, между Polkadot и другими блокчейнами уровня 1, такими как Ethereum и Binance Smart Chain, существуют мосты, обеспечивающие взаимодействие.
Каждый блокчейн имеет торгуемые токены, разработанные в соответствии с его родными цифровыми валютами. Когда смарт-контракты переносятся между разными цепочками, должен быть способ, которым токены, разработанные для одной цепочки блоков, могли работать в другой.
Это похоже на путешествие в страну, в которой используется другая валюта. Однако вместо того, чтобы обменивать один тип токена на другой, блокчейны обычно используют концепцию упаковки и развертывания.
Обертывание влечет за собой привязку стоимости токена к его исходной криптовалюте. Обернутый токен — это, по сути, торгуемый токен, который можно использовать в других блокчейнах. В качестве примера предположим, что некоторые ERC-20 Ethereum завернуты. Их стоимость будет привязана к их текущей стоимости, но теперь они считаются обернутым эфиром (WETH). Токены WETH могут использоваться в кошельках MetaMask и других для взаимодействия с различными блокчейнами (BSC, IOTA и т. д.).
Одним из наиболее значительных преимуществ упаковки токена является то, что исходный актив сохраняется, но завернутый токен наследует функциональные возможности нового блокчейна. Некоторые из этих функций могут включать минимизацию времени транзакции и низкую плату за газ.
Развертывание токенов относится к процессу обращения токена к исходной криптовалюте. Например, WETH можно преобразовать в исходную криптовалюту ETH.
Вот демонстрация, показывающая упаковку и распаковку токена Ethereum с использованием стандарта OpenZeppelin ERC-20 :
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol;
contract WETH is ERC20 {
constuctor() ERC20("Wrapped Ether", "WETH") public {};
// define a mint function to create new wrapped ether token
function mint() external payable {
_mint(msg.sender, msg.value);
}
// define a burn function to create an unwrapped token
function burn(uint amount) external { //specify the amount that you want back
payable(msg.sender).transfer(amount); // transfers
_burn(msg.sender, amount); //sending back the ether to the user
}
}
Давайте подробнее рассмотрим отдельные строки кода в приведенном выше блоке кода:
constructor``()
функцию, которая устанавливает имя Эфира на «Обернутый Эфир» и его символ на «WETH», как только контракт будет выполнен.mint()
функцию, которая принимает значение Ether и создает новый обернутый токен Ether; квалификатор external означает, что функция может быть вызвана из других контрактов; квалификатор payable означает, что функция может принимать и отправлять Ether._mint
функцию, определенную в коде OpenZeppelin; он принимает адрес инициатора транзакции как msg.sender
и стоимость отправленного эфира какmsg.value
burn()
функцию, которая принимает количество токенов, которое хочет пользователь, и отправляет обратно развернутый токен.msg.sender
с квалификатором payable, чтобы он мог передавать эфир; использует transfer
функцию, определенную в OpenZeppelin, для принятия суммы, подлежащей переводу_burn()
функцию, определенную в OpenZeppelin, для отправки инициатору транзакции развернутого токена (оригинального эфира).В этой статье мы продемонстрировали, как настроить смарт-контракт в Ganache, а затем перенести его в тестовую сеть Ethereum Rinkeby, тестовую сеть Polygon Mumbai, Binance Smart Chain и Polygon с помощью MetaMask. Мы также обсудили разные стратегии переноса смарт-контрактов между разными цепочками: обертывание и разворачивание токенов, а также парачейны.
Оригинальный источник статьи на https://blog.logrocket.com
#blockchain #smartcontract #ethereum #polygon #metamask #binancesmartchain #binance
1658473917
Технологии развиваются ежедневно с огромной скоростью. В современном технологическом мире есть варианты для всего, что мы используем. Что касается хранения данных, то существует несколько способов хранения данных. Большая часть данных нашего приложения хранится на устройстве в базе данных.
SQL против NoSQL
Используемая база данных является одним из двух форматов базы данных: SQL и NoSQL. О двух форматах и их преимуществах, недостатках, приложениях и формате мы узнаем в блоге. SQL расшифровывается как язык структурированных запросов .
SQL
SQL — это система управления реляционными базами данных.
Эти базы данных имеют фиксированную, статическую или предопределенную схему.
Эти базы данных подходят для сложных запросов.
Они масштабируются по вертикали.
Структура базы данных SQL
Хорошим примером этого визуально является электронная таблица Excel, в которой все данные хранятся в виде таблицы.
Некоторые примеры: MySQL, PostgreSQL, Oracle, MS-SQL Server и т. д.
Если вам нравится контент, хлопайте в ладоши.
Если вы хотите узнать больше о моих блогах, подписывайтесь на меня, так как это очень много значит для меня.
Если вы чувствуете, что ваши друзья хотели бы поделиться с ними, спасибо.
NoSQL
NoSQL — это система управления нереляционными базами данных.
Эти базы данных имеют динамическую схему.
Эти базы данных не подходят для сложных запросов.
Они масштабируются по горизонтали.
Структура NoSQL
Хорошим примером базы данных NoSQL является структура папок, которую мы используем для хранения наших компьютеров.
Некоторые примеры: MongoDB, GraphQL, HBase, Neo4j, Cassandra и т. д.
Вот простая картинка, показывающая разницу между базами данных SQL и NoSQL.
SQL против NoSQL
Ссылка: https://faun.pub/what-is-the-difference-between-sql-and-nosql-21c80016a9d4
#sql #nosql #database
1659951600
Узнайте, почему для создания работающего веб-приложения необходимы и HTML, и JavaScript.
Когда вы учитесь становиться веб-разработчиком, важно понимать разницу между HTML и JavaScript.
В веб-разработке HTML используется для создания структуры и содержимого веб-страницы, а JavaScript используется для добавления динамических функций веб-страницам.
HTML — это язык разметки, который используется для создания структуры и содержимого веб-страницы. По определению, HTML не является языком программирования (но, пожалуйста, не придавайте большого значения, когда новичок называет его языком программирования. Просто сохраняйте спокойствие 😉)
Вы используете теги HTML, чтобы поместить что-либо на веб-страницу, например заголовок, заголовки, абзацы и изображения.
С другой стороны, JavaScript — это язык программирования, который можно использовать для добавления динамических функций к HTML-страницам.
JavaScript позволяет создавать интерактивные элементы, такие как раскрывающиеся меню и скрытие определенных элементов на странице.
Чтобы создать полноценное веб-приложение или веб-сайт, вам потребуются как HTML, так и JavaScript.
В этой статье вы научитесь определять код HTML и JavaScript, размещенный на веб-страницах, чтобы понять, как они используются вместе. Давайте начнем с создания базовой HTML-страницы.
HTML-страницу можно создать с помощью любого текстового редактора или редактора кода, установленного на вашем компьютере.
Вы можете использовать бесплатные программы, такие как TextPad, NotePad или VSCode. Вы даже можете использовать текстовые редакторы на базе терминала, такие как Vim или Nano.
Создайте новый документ с помощью программы-редактора и добавьте в документ следующий HTML-код:
<head>
<title>HTML title</title>
</head>
<body>
<h1>JavaScript vs HTML</h1>
<p>This is a paragraph</p>
<button>Click me!</button>
</body>
Сохраните файл как practice.html
и откройте страницу в своем любимом веб-браузере.
Вы должны увидеть следующий вывод, сгенерированный в вашем браузере:
Вы можете видеть части HTML-документа, отображаемые в браузере.
Все, что вы помещаете в <head>
тег HTML-документа, используется для информирования браузера о HTML-документе.
Содержимое <head>
тега также известно как метаданные документа.
Тег <body>
— это место, где вы размещаете содержимое страницы. Все, что вы туда поместите, будет отображаться на главном экране браузера.
Когда <body>
тег пуст, браузер отображает пустую страницу.
Теперь, когда у вас есть базовая HTML-страница, давайте добавим к ней JavaScript.
Несмотря на то, что вы можете создать кнопку с помощью <button>
тега HTML, щелчок по кнопке ничего не делает.
Это связано с тем, что у вашей кнопки нет инструкций о том, что делать при нажатии кнопки.
Чтобы заставить кнопку что-то делать, вам нужно добавить код JavaScript.
Добавьте в <button>
тег следующий код:
<head>
<title>HTML title</title>
</head>
<body>
<h1>JavaScript vs HTML</h1>
<p>This is a paragraph</p>
<button onclick="alert('Hello!');">Click me!</button>
</body>
Сохраните HTML-документ, затем обновите браузер.
При нажатии на кнопку появится окно с предупреждением, как показано ниже:
Ответ на нажатие кнопки с использованием JavaScript
Атрибут onclick
добавляется к <button>
элементу. Когда вы нажимаете кнопку, код, который вы определяете внутри onclick
атрибута, будет выполняться как ответ на действие щелчка.
Это alert('Hello!');
единственный код JavaScript, добавленный в документ HTML.
Вы также можете использовать <script>
тег для добавления более сложного кода JavaScript, как показано ниже:
<head>
<title>HTML title</title>
</head>
<body>
<h1 id="header">JavaScript vs HTML</h1>
<p>This is a paragraph</p>
<button onclick="changeHeading()">Click me!</button>
<script>
function changeHeading() {
let header = document.getElementById("header");
header.innerHTML = "Hello World!";
}
</script>
</body>
Функция changeHeading()
определена внутри <script>
тега выше.
Атрибут onclick
назначается при вызове changeHeading()
функции.
Когда вы нажмете кнопку выше, будет выполнена функция JavaScript.
В приведенном выше коде показаны небольшие примеры того, как JavaScript может добавить интерактивности вашей веб-странице.
Вы также можете использовать JavaScript, чтобы показывать и скрывать div одним щелчком мыши или создавать игру «камень, ножницы, бумага» .
JavaScript добавляет функциональность к статической сборке веб-сайта с использованием HTML.
Он позволяет вам транслировать фильмы и общаться с друзьями с помощью веб-приложений, таких как Netflix, Amazon Prime, Facebook, Instagram и буквально любого веб-сайта, который вы посещаете в своем веб-браузере.
Современные браузеры, установленные на вашем компьютере, поставляются с инструментами веб-разработчика.
Одним из таких инструментов является возможность просмотра исходного кода страницы, которую вы в данный момент открываете.
Чтобы просмотреть код HTML, CSS и JavaScript, из которого состоит веб-страница, просто щелкните правой кнопкой мыши в любом месте страницы и выберите « Просмотреть исходный код страницы » .
Вот пример проверки источника целевой страницы Facebook:
Проверка источника страницы Facebook
Используя инструменты веб-разработчика, вы можете определить код JavaScript и HTML, используемый веб-страницей.
JavaScript и HTML необходимы для создания современного веб-приложения.
JavaScript используется для создания динамических и интерактивных элементов, а HTML — для структурирования и компоновки содержимого веб-страницы.
Хотя они используются для разных целей, они работают вместе для создания всестороннего и функционального веб-приложения.
Вот таблица, в которой резюмируются различия между JavaScript и HTML:
Категория | JavaScript | HTML |
---|---|---|
Описание | Язык программирования, работающий в браузерах | Язык разметки, отображаемый браузерами |
Цель | Добавляет динамическое взаимодействие на веб-страницу | Создать статическую структуру и содержимое веб-страницы |
Встраивание | Встраивается внутрь HTML | Не может быть встроен в JavaScript |
Поддерживать | Частичная поддержка в зависимости от версии браузера | Поддерживается всеми современными браузерами |
Разработка | Стандарт JavaScript определен в ECMAScript . | Стандарт HTML определяется WHATWG |
Используя оба языка вместе, разработчики могут создавать мощные и эффективные веб-приложения.
Ссылка: https://sebhastian.com/javascript-vs-html/
#javascript #html
1640613660
Если вы когда-нибудь ломали голову над вопросом, в чем разница между блокчейном и биткойном, эта статья для вас.
Для новичков в криптовалюте терминология может сбивать с толку и даже вводить в заблуждение. Некоторые люди ссылаются на биткойн, когда говорят о технологии блокчейн, в то время как другие упоминают блокчейн, когда говорят о криптовалютах в целом. Однако на самом деле эти термины не взаимозаменяемы: они относятся к различным, но связанным понятиям. Таким образом, важно понимать различия между ними. Настоящим мы знакомим вас с основами технологии блокчейн, криптовалют и биткойнов.
Учти это:
Так же:
Большинство блокчейнов спроектированы как распределенная и децентрализованная цифровая книга. Проще говоря, блокчейн - это цифровой реестр, который по сути является электронной версией бумажного реестра, и он отвечает за запись списка транзакций.
В частности, блокчейн - это линейная цепочка из нескольких блоков, которые связаны и защищены криптографическими доказательствами. Технология блокчейн также может применяться в других видах деятельности, которые не обязательно требуют финансовых операций, но в контексте криптовалют они несут ответственность за постоянный учет всех подтвержденных транзакций.
Термины «распределенный» и «децентрализованный» относятся к тому, как реестр структурирован и поддерживается. Чтобы понять разницу, подумайте об общих формах централизованных бухгалтерских книг, таких как общедоступные отчеты о продажах домов, банковские записи о снятии наличных в банкоматах или список проданных товаров на eBay. В любом случае регистр контролирует только одна организация: государственное учреждение, банк или eBay. Другой распространенный фактор - это то, что существует только одна главная копия бухгалтерской книги, а все остальное - это просто резервная копия, которая не является официальной записью. Следовательно, традиционные реестры централизованы, потому что они поддерживаются одной организацией и обычно полагаются на единую базу данных.
Напротив, блокчейн обычно строится как распределенная система, которая функционирует как децентрализованный реестр. Это означает, что нет единой копии реестра (распределенной) и нет единого контролирующего органа (децентрализованного). Проще говоря, каждый пользователь, который решает присоединиться и участвовать в процессе обслуживания сети цепочки блоков, хранит электронную копию данных цепочки блоков, которая часто обновляется вместе со всеми последними транзакциями, синхронно с копиями других пользователей.
Другими словами, распределенная система поддерживается коллективной работой множества пользователей, разбросанных по всему миру. Эти пользователи также известны как сетевые узлы, и все эти узлы участвуют в процессе проверки и подтверждения транзакций в соответствии с правилами системы. Следовательно, власть децентрализована (нет центральной власти).
Блокчейн получил свое название от способа организации записей: цепочка связанных блоков. По сути, блок - это часть данных, которая, помимо прочего, содержит список последних транзакций (например, распечатанную страницу записей). Блоки, а также транзакции являются общедоступными и видимыми, но их нельзя изменить (например, поместить каждую страницу в запечатанный стеклянный ящик). По мере добавления новых блоков в цепочку блоков формируется непрерывная запись связанных блоков (например, физический реестр и его многочисленные страницы записей). Это была очень простая аналогия, но процесс намного сложнее.
Одна из основных причин, по которой блокчейны настолько устойчивы к модификации, заключается в том, что блоки связаны и защищены криптографическими доказательствами. Для создания новых блоков участникам сети необходимо выполнять дорогостоящую и интенсивную вычислительную деятельность, известную как майнинг. По сути, майнеры несут ответственность за проверку транзакций и их группировку во вновь созданные блоки, которые затем добавляются в цепочку блоков (при соблюдении определенных условий). Они также несут ответственность за введение новых монет в систему, которые выдаются в качестве вознаграждения за их работу.
Каждый новый подтвержденный блок связан с блоком, который был непосредственно перед ним. Прелесть этой настройки заключается в том, что практически невозможно изменить данные в блоке после того, как он был добавлен в цепочку блоков, потому что они защищены криптографическими доказательствами, создание которых очень дорого и чрезвычайно сложно отменить.
Подводя итог, можно сказать, что блокчейн - это цепочка связанных блоков данных, которые организованы в хронологическом порядке и защищены криптографическими доказательствами.
Проще говоря, криптовалюта - это цифровая форма денег, которая используется в качестве средства обмена в распределенной сети пользователей. В отличие от традиционных банковских систем, эти транзакции отслеживаются через общедоступный цифровой реестр (блокчейн) и могут происходить напрямую между участниками (одноранговая сеть) без необходимости в посредниках.
«Крипто» относится к криптографическим методам, используемым для защиты экономической системы и обеспечения беспрепятственного создания новых единиц криптовалюты и проверки транзакций.
Хотя не все криптовалюты можно добывать, многие из них, как и Биткойн, зависят от процесса добычи, имеют медленный и контролируемый рост их оборотного предложения. Следовательно, майнинг - единственный способ создать новые единицы этих монет, и это позволяет избежать рисков инфляции, которые угрожают традиционным фиатным валютам, где правительство может контролировать денежную массу.
Биткойн - первая из когда-либо созданных криптовалют и, естественно, самая известная из них. Он был представлен в 2009 году разработчиком под псевдонимом Сатоши Накамото. Основная идея заключалась в создании независимой и децентрализованной системы электронных платежей, основанной на математических доказательствах и криптографии.
Несмотря на то, что Биткойн самый известный, он не одинок. Есть много других криптовалют, каждая со своими особенностями и механизмами. Кроме того, не все криптовалюты имеют собственный блокчейн. Некоторые из них были созданы на основе уже существующей цепочки блоков, а другие были созданы полностью с нуля.
Как и большинство криптовалют, биткойн имеет ограниченное предложение, что означает, что система больше не будет генерировать биткойны после достижения максимального количества. Хотя это варьируется от проекта к проекту, максимальное количество биткойнов установлено на уровне 21 миллиона единиц. Обычно общее предложение - это общедоступная информация, которая определяется при создании криптовалюты. Вы можете проверить циркулирующее количество и цену биткойнов на Binance Info.
Протокол Биткойн имеет открытый исходный код, и любой может просмотреть или скопировать код. Многие разработчики по всему миру вносят свой вклад в развитие проекта.