Приватный ключ метамаск что это
Перейти к содержимому

Приватный ключ метамаск что это

  • автор:

Метамаск: руководство по безопасности

Метамаск

Как скачать, установить и начать пользоваться кошельком Метамаск, мы уже рассказали в одной из предыдущих статей. Однако вопрос обеспечения безопасности данных кошелька и средств, которые на нем лежат, еще более важная и сложная задача.

Метамаск, как и любой другой браузерный горячий криптокошелек — это ваша личная собственность. А это значит, что и вся ответственность по хранению активов лежит именно на вас.

Что нужно защитить сильнее всего?

Первая и самая главная проблема, с которой вы можете столкнуться — это потеря вашей СИД фразы. СИД фраза — это специальный пароль из 12 английских слов, которые вам выдаются при регистрации кошелька. Если вы по какой-либо причине его потеряете, вы больше никогда не сможете вернуть ваши средства.

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

Рекомендации по безопасности Метамаск

В первую очередь стоит позаботиться о сохранности секретной фразы от кошелька Метамаск. Для этого подготовьте 2 чистые новые флешки без вирусов и сохраните там все пароли и фразы в документе. Спрячьте их в надежные места и никогда не теряйте.

Для дополнительной безопасности я рекомендую распечатать СИД фразу на листе бумаги и также спрятать в укромное место.

Так вы точно будете уверены, что всегда и на любом устройстве сможете получить доступ к своим средствам.

Экспортируем закрытый ключ в Метамаск

Также вам необходимо сохранить секретный ключ от Метамаска. Он может помочь вам с восстановлением кошелька и будет дополнительной мерой защиты к СИД фразе.

Metamask private key: What is it?

Private keys are found in every wallet address. Each wallet address has a public key, which we can see, and a private key.

The public key is the one you share so that they can send you cryptocurrencies or send cryptocurrencies to that account.

The private key is a key that gives you access to that account. And therefore, we should not share it with anyone. A very common aspect is to get confused between the private key and the seed phrase. Although they share some aspects, they are different and it is important to understand them.

Seed Phrase Vs Private Key

The main difference between these two terms is that the recovery phrase gives you access to all accounts or addresses created with the same recovery phrase.

The private key, on the other hand, is unique to each account. So the private key will only give you access to that particular account or address.

If this still sounds confusing, let’s look at an example to understand it better. When you create your first metamask account, you will receive a recovery phrase that you must store securely. And once you have created your first account, if you go to the top right, and click on create account, you can create a new account, usually with the name account2 but you can indicate the name you want.

Now, in Metamask you will have two accounts, each of these accounts has a different address/address. And also a different private key. As we have already mentioned, each account has a public and a private key.

Therefore, to access the two accounts created from another device or if you delete metamask, you will be able to use the recovery phrase to access both.

With the private key, each will have a different private key. And that private key will only give you access to one account. So, to access both accounts, you will need to enter each private key separately.

Where to find the Private Key

To find out the private key of any of your Metamask accounts, click on the 3 dots at the top right. Click on account details, and you will see underneath the export private key option. Click there, and you will have to enter the password of your Metamask wallet. Once entered, click on confirm and you will be able to see the private key. You can copy it to save it or export your account to other devices.

Remember not to share your private key with anyone, because if someone has it, they will be able to access your Metamask account.

The main utility behind separating recovery phrase and private key is to be able to have different accounts under the same recovery phrase. And to be able to export a single account to other devices.

If you use Metamask on your computer, and you want to use Metamask also on your mobile, you can use the private key to only add one account, and not have all the accounts on your mobile. This way, if you have any problems with your mobile, there will only be one account and not all of them. This is a handy way to be able to separate accounts on different devices, and not always have to enter the recovery phrase on new devices when you want to use a particular account. If you have imported an account using the private key, in Metmask you can delete it. By clicking on the 3 dots, you will see the hide account button and you will no longer be able to see that account.

If you have not imported it, you will not be able to delete it, as it is the only way to access that account if you created it with metamask. And once you create an account, you cannot delete it, as a public and private key is generated in the blockchain.

I hope I have solved your doubts about the private key and how it works. Remember, if you don’t have an account with Binance, you can create one just below.

What is metamask?

MetaMask is a cryptocurrency wallet that is available as a browser extension and mobile app to help you store tokens, interact with decentralized applications, and trade Ethereum. It allows you to run Ethereum Dapps right in your browser without running a full Ethereum node.

MetaMask Wallet Features:

  • Global API: MetaMask injects a global API into websites visited by its users at window.ethereum. This API allows websites to request users’ Ethereum accounts, read data from blockchains the user is connected to, and suggest that the user sign messages and transactions.
  • Private Key Encryption: Internally, MetaMask encrypts your private key using the password that you supplied during the installation stage, and stores it in your browser’s data store. It does not store them on the cloud.
  • Child Key Generation: MetaMask makes use of the private key of the first account and uses it to generate a set of child keys, which are then used to generate their respective public keys, and so on, to create additional accounts.

Private and Public Keys:

Private Keys

  • A private key is a secure code that enables the holder to make cryptocurrency transactions and prove ownership of their holdings.
  • Private keys are used to authorize transactions and prove ownership of a blockchain asset.
  • Private keys are large alphanumeric codes with hundreds of digits.
  • Private keys are kept secret and should be stored securely to prevent unauthorized access.
  • If someone discovers your private key, they will have access to all the crypto in that wallet and can do whatever they want with it.

Public Keys

  • A public key is a cryptographic code that’s paired to a private key.
  • Public keys are used to receive cryptocurrency transactions.
  • Anyone can send transactions to the public key, but you need the private key to “unlock” them and prove that you are the owner of the cryptocurrency received in the transaction.
  • Public keys are usually represented as an address, which is a shortened form of your public key

How Public and Private Keys Work Together

  • Public and private keys fit together as a key pair.
  • Public keys allow you to receive cryptocurrency transactions, while private keys allow you to authorize transactions and prove ownership of your holdings.
  • Public and private keys are generated using an encryption algorithm, and they are different from each other.
  • Private keys are used to generate public keys, and they are mathematically linked to each other.
  • Public and private keys are stored in a cryptocurrency wallet, which consists of a set of public addresses and private keys.

How does MetaMask generate public and private keys:

MetaMask generates public and private keys using a seed integer obtained from the secret recovery phrase. Here is how MetaMask generates the public and private keys:

  1. A private key is generated using the seed integer obtained from the secret recovery phrase using the SHA256 hash function.
  2. The corresponding public key for the private key is derived from the private key using the ECDSA (Elliptic Curve Signature) algorithm.
  3. With the public/private key pair created from the seed integer, MetaMask will now be able to create your first account (created by default when you install MetaMask).
  4. As explained, your first account is generated from the keccak256 hash.
  5. Internally, MetaMask encrypts your private key using the password that you supplied during the installation stage, and stores it in your browser’s data store. It does not store them on the cloud.

MetaMask uses the private key of the first account to generate a set of child keys, which are then used to generate their respective public keys, and so on, to create additional accounts. The private keys themselves are not stored in plain text in program storage. Instead, they are stored in an encrypted form in a key store file, which is also protected by the user’s password. At no point does MetaMask store your actual private keys.

MetaMask Verification of Transactions and Provider/Signer Concepts

MetaMask verifies transactions by using the provider and signer concepts. Here is how these concepts work in MetaMask:

Provider Concept

  • The provider is the node that you use to interact with the blockchain.
  • MetaMask injects a global JavaScript API into websites visited by its users using the window.ethereum provider object.
  • This API allows websites to request users’ Ethereum accounts, read data from blockchains the user is connected to, and suggest that the user sign messages and transactions.
  • You can use the provider properties, methods, and events in your dapp.

Signer Concept

  • A signer is a class that has access to a private key, which can sign messages and transactions to authorize the network to charge your account ether to perform operations.
  • A signer in ethers is an abstraction of an Ethereum account, which can be used to sign messages and transactions and send signed transactions to the Ethereum Network to execute state-changing operations.
  • The available operations depend largely on the sub-class used.
  • For example, a signer from MetaMask can send transactions and sign messages but cannot sign a transaction (without broadcasting it).

Verification of Transactions

  • When a user initiates a transaction in a dapp, the dapp sends a request to the provider to sign the transaction.
  • The provider then sends the request to the signer, which signs the transaction using the private key.
  • The signed transaction is then sent back to the provider, which broadcasts it to the network.
  • Once the transaction is confirmed by the network, the provider emits a confirmation event to the dapp.

Overall, MetaMask uses the provider and signer concepts to verify transactions in a dapp. The provider is responsible for interacting with the blockchain, while the signer is responsible for signing transactions. By using these concepts, MetaMask provides a secure and reliable way to interact with the Ethereum blockchain.

MetaMask Provider

The MetaMask provider is an Ethereum provider object injected by MetaMask into various environments. It is the node that you use to interact with the blockchain. The provider is designed to be minimal, allowing for maximum flexibility in implementation. MetaMask injects a global JavaScript API into websites visited by its users using the window.ethereum provider object. This API allows websites to request users’ Ethereum accounts, read data from blockchains the user is connected to, and suggest that the user sign messages and transactions. The provider properties, methods, and events can be used in your dapp.

MetaMask Provider Properties

  • window.ethereum.isMetaMask: This property is used to detect whether the user is using MetaMask.
  • window.ethereum.networkVersion: This property returns the ID of the currently connected Ethereum network.
  • window.ethereum.selectedAddress: This property returns the currently selected Ethereum account.

MetaMask Provider Methods

  • window.ethereum.request: This method sends a JSON-RPC request to the Ethereum node.
  • window.ethereum.enable: This method requests the user's permission to access their Ethereum account.

MetaMask Provider Events

  • window.ethereum.on: This event allows the dapp to listen for specific events emitted by the Ethereum node. The provider emits this event when it receives a message that the user should be notified of. The type property identifies the kind of message.

EIP-1193

EIP-1193 is an Ethereum Improvement Proposal that specifies a standard interface for Ethereum providers in JavaScript. It was initially proposed as a specification for exposing a provider in a dapp browser, but later evolved into specifying its interface. The goal of EIP-1193 is to provide a consistent interface across clients and applications for interacting with the Ethereum blockchain. The provider is designed to be minimal, allowing for maximum flexibility in implementation

Features of EIP-1193

EIP-1193 defines a set of methods and events that a provider must implement to be compatible with the standard. These methods and events include:

  • request: A method that sends a JSON-RPC request to the Ethereum node.
  • on: An event that allows the dapp to listen for specific events emitted by the Ethereum node.
  • enable: A method that requests the user's permission to access their Ethereum account.
  • selectedAddress: A property that returns the currently selected Ethereum account.
  • networkVersion: A property that returns the ID of the currently connected Ethereum network.

These methods and events allow dapps to interact with the Ethereum blockchain in a standardized way, regardless of the underlying provider implementation

Implementing EIP-1193

To implement EIP-1193, a provider must expose the methods and events defined in the specification. There are several existing providers that are compatible with EIP-1193, including MetaMask, WalletConnect, and Portis. Developers can also create their own provider implementations that conform to the standard

Benefits of EIP-1193

EIP-1193 provides a standardized interface for Ethereum providers in JavaScript, making it easier for developers to build dapps that work across different clients and applications. By conforming to the standard, providers can ensure that their implementation is compatible with a wide range of dapps, reducing the need for custom integrations. Additionally, EIP-1193 allows for greater flexibility in provider implementation, enabling providers to innovate and differentiate themselves while still conforming to the standard

��MetaMask — полный гайд — часть 2

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

Адрес в сети Binance Smart Chain и Ethereum у Вас будет одинаковый, не удивляйтесь ��

Отправка токенов

Помните, что для отправки токенов в сети Ethereum и Binance Smart Chain Вам понадобится некоторое количество ETH или BNB соответственно для оплаты комиссий.

Для того, чтобы отправить токен,

�� • На компьютере:

Введите адрес получателя и количество токенов для отправки, комиссия подберется автоматически, но Вы можете ее изменить,

затем подтвердите транзакцию:

Транзакция будет отправлена.

• Вы можете воспользоваться функцией ускорения транзакций, если Ваша транзакция застряла в сети, посредством увеличения комиссии уже после её отправки, нажав на Speed Up, или же отменить транзакцию, нажав на Cancel:

Для ускорения транзакции выберите комиссию или впишите комиссию вручную во вкладке Advanced:

• Нажав на отправленную транзакцию, Вам предоставят информацию о ней:

�� • В приложении на смартфоне процесс и даже кнопки абсолютно подобны:

Выберете токен и нажмите Send, далее укажите адрес получателя и нажмите Next:

• Есть возможность трансфера средств между Вашими аккаунтами, о создании или импортировании которых мы поговорим ниже, а на данный момент у Вас скорее всего будет только один аккаунт:

• При указании адреса Вы можете увидеть надпись Send this address to your address book, используйте это, если Вы часто отправляете транзакции на один и тот же адрес, так Вы исключите возможность подмены адреса в буфере обмена, а так же Ваших возможных ошибок при указании адреса:

• Если сверху Вы видите ETH, хотя находитесь в сети Smart Chain, не беспокойтесь, это забавный баг приложения, который имеет место быть на момент написания статьи. Подразумевается BNB, Вы можете убедиться в этом, нажав на ETH, в выборе токена для отправки он будет отсутствовать:

• Здесь Вы можете вписать сумму для отправки либо в токенах, либо в $ (или в другой валюте):

• Вписав сумму для отправки нажмите Next, далее идет важный шаг, если Вы отправляете токены в сети Binance Smart Chain. На момент написания статьи в приложении присутствует баг, из-за которого автоматически подставляются комиссии из сети Ethereum, поэтому для того, чтобы не тратить лишние средства на комиссию. Для изменения комиссии нажмите Edit в блоке комиссий и Advanced во всплывшем окне:

Актуальную комиссию можно смотреть здесь: bscscan.com/chart/gasprice

После этого нажмите Send:

• Отправленную транзакцию можно ускорить, нажав на Speed Up, тем самым увеличив комиссию, или отменить транзакцию, нажав Cancel:

• Нажав на совершенную транзакцию, Вы можете посмотреть информацию о ней:

Мы наблюдаем настоящий бум технологии невзаимозаменяемый токенов, поэтому обойти стороной эту тему в статье я никак не мог.

Получение NFT-токенов

Для получения NFT-токенов используйте Ваш обычный адрес, например, для NFT-токенов в сети Binance Smart Chain используйте Ваш BNB адрес. Его можно скопировать, нажав на него:

О том, как добавить сеть Smart Chain мы говорили в этом пункте.

Отображение NFT-токенов

На данный момент автоматический просмотр NFT-токенов, которыми Вы обладаете, доступен напрямую только через приложение для смартфона.

�� • Для этого просто перейдите во вкладку COLLECTIBLES:

Там будут отображены все NFT-токены, которые ассоциируются с Вашим адресом:

(некоторые из них всё так же могут не отображаться��)

• Токен можно добавить вручную, используя его смарт-контракт и ID:

Всё это Вы можете найти на странице nft-токена в обозревателях блокчейна (etherscan.io или bscscan.com):

Таким же образом стоит упомянуть, что на данный момент поддерживаются nft-токены только стандарта 721, поддержку nft-токенов стандарта 1151 , команда разработчиков планирует ввести в четвертом квартале 2021 года.

�� • Однако один способ отобразить и взаимодействовать со своими nft-токенами на компьютере всё же есть, его можно импортировать, как пользовательский токен, используя смарт-контракт nft-токена, который Вы можете найти всё в тех же обозревателях блокчейна etherscan.io или bscscan.com на странице nft-токена:

Процесс добавления абсолютно такой же, как и при работе с обыкновенными [не nft] токенами, выглядеть это будет, конечно, несколько необычно:

Отправка NFT-токенов

�� • На смартфоне откройте COLLECTIBLES, далее откройте Ваш NFT-токен и нажмите SEND:

Дальше процесс абсолютно аналогичен отправке обычных токенов:

�� • На компьютере процесс от начала до конца аналогичен отправке обычных токенов:

DApps

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

��• На компьютере просто перейдите на сайт децентрализованного приложения и разблокируйте кошелек (введите пароль):

Далее подключите кошелек к приложению, нажав на кнопку по типу Connect (Unlock Wallet, Connect Wallet), в примере я использовал агрегатор dex-обменников 1icnh:

После подключения Вы сможете взаимодействовать с децентрализованным приложением.

• В приложении для смартфонов есть строенный браузер для децентрализованных приложений. Чтобы его открыть, зайдите в Опции, далее нажмите Browser:

В браузере Вы можете делать множество вещей, например, производить обмены на DEX-обменниках, так будет выглядеть подключение на примере обменника pancakeswap:

Дополнительные кошельки

Используя MetaMask, Вы можете иметь сразу несколько кошельков, создавая или импортирую новые.

Создание дополнительного кошелька

�� • Если Вы пользуетесь расширение, то зайдите в Опции, выберите Create account, задайте имя кошельку и нажмите Create:

• Аккаунт будет создан и готов к использованию. Однако перед использованием настоятельно рекомендую сделать резервную копию Вашего кошелька, о том, как это сделать, мы поговорим в этом пункте.

�� • Последовательность действий при работе с приложением такая: зайдите в Опции, нажмите на название текущего кошелька, в открывшемся окне нажмите Create New Account:

• Аккаунт будет создан моментально и готов к работе, но, опять же настоятельно рекомендую сначала сделать резервную копию кошелька.

Импорт дополнительного кошелька

Существует две опции импорта дополнительного кошелька: через приватный ключ и через json-файл. О том, что это, я расскажу сразу после того, как покажу ряд действий для импорта

Никому не давайте свой приватный ключ или json-файл, это может привести к потере всех Ваших активов!

Перейдите в Опции, выберите Import Account, выберите формат импорта — приватный ключ или json-файл:

Я буду импортировать кошелек при помощи приватного ключа, поэтому выбираю эту опцию импорта, ввожу приватный ключ и жму Import:

Кошелек добавляется в MetaMask, в Опциях он обозначается табличкой IMPORTED.

�� • На смартфоне доступен импорт только при помощи приватного ключа:

Перейдите в Опции, нажмите на имя текущего кошелька, далее выберите Import an Account и введите ваш приватный ключ или просканируйте QR-код, содержащий приватный ключ:

Нажмите Import, кошелек будет импортирован в MetaMask:

• Теперь поговорим о том, что такое же такое этот приватный ключ и json-файл. Добавлю сразу, что этих примера достижений криптографии можно экспортировать из MetaMask для создания резервной копии ли при переносе кошелька, об этом поговорим в этом пункте.

Например, вот здесь можете погенерировать seed-фразы:

И, выбрав в поле Coin Ethereum, посмотреть соответствие публичных и приватных адресов:

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

Вы так же можете получить приватные ключи из Вашей seed фразы просто вставив ее в поле BIP39 Mnemonic, это действие тоже производите только с соблюдением правил безопасности.

JSON-файл ключа — это по сути тот же приватный ключ, только зашифрованный вашим паролем, при этой опции импорта потребуется дополнительно ввести ранее заданный пароль.

Встроенный Swap-обменник

В компьютерной версии кошелька есть встроенный Swap-обменник, но на деле это не просто децентрализованный swap-обменник, а целый агрегатор, который ищет для вас лучшие цены на децентрализованных биржах и обменниках.

На данный момент swap-обмены доступны только в сети Ethereum.

Для того, чтобы совершить обмен, переключитесь на сеть Ethereum Mainnet, если Вы находитесь в другой сети, и нажмите на Swap:

Далее выберите монету, которую хотите обменять и вторую, которую хотите получить, впишите количество токенов для обмена и нажмите Review Swap:

После активного лисьего поиска Вам будет представлен обмен по лучшему найденному курсу, подтвердите его, нажав на Confirm, далее ожидайте поступления токенов на баланс кошелька:

Покупка Ethereum

В приложении MetaMask доступна встроенная покупка Ethereum.

Один неприятный момент: покупка на территории СНГ, кроме Беларуси, недоступна:

Чтобы совершить обмен:

Перейдите в сеть Ethereum Mainnet и нажмите на Buy, Continue to Wyre:

Введите сумму покупки, согласитесь с условиями и нажмите на кнопку Next введите требуемые данные, нажмите Next и совершите оплату:

Ethereum поступит к Вам на кошелек, обычно это происходит в течение 20 минут, но, конечно, задержки не исключаются.

Нажмите на BUY ETH и Buy ETH with Transak, введите желаемое количество для покупки и нажмите Buy Now, Вам покажут детали транзакции, нажмите Buy ETH, подтвердите электронную почту и завершите оплату:

Экспорт seed-фразы и приватного ключа

Экспорт seed-фразы или приватного ключа может понадобиться для создания резервной копии или необходимости миграции кошелька.

Экспорт seed-фразы

Чтобы экспортировать seed-фразу:

Откройте Опции, перейдите в Settings, во вкладку Security & Privacy и нажмите Reveal Seed Phrase:

Далее введите пароль и сохраните seed-фразу:

Вы можете экспортировать seed-фразу, скопировав её, или скачав в виде CSV-файла (по сути это просто текстовик, который Вы можете открыть в любом редакторе). Но я настоятельно рекомендую Вам не делать ничего из предложенного, намного безопаснее будет воспользоваться каким-либо из советов из нашей статьи "Как правильно хранить Вашу SEED-фразу?"

Перейдите в Settings, во вкладку Security & Privacy и нажмите Reveal Seed Phrase:

Вас попросят ввести пароль, а после покажут seed-фразу:

Опять же, настоятельно рекомендую воспользоваться советами из нашей статьи "Как правильно хранить Вашу SEED-фразу?"

Экспорт приватного ключа

Перейдите в Account Details:

Далее нажмите Export Private Key и введите пароль:

Сознательно и бережно относитесь к своему приватному ключу! Получив его, злоумышленник может украсть все Ваши средства!

Процесс абсолютно аналогичен экспорту seed-фразы, только на последнем шаге нужно выбрать Show private key:

Далее остается только ввести пароль, и Ваш приватный ключ будет отображен:

С приватным ключом обращайтесь не менее бережно, чем с Вашей seed-фразой!

Общие действия с аккаунтом

Здесь мы разберем оставшиеся общие функции и вопросы такие, как: адресная книга, блокировка кошелька, смена имени кошелька, смена языка и валюты, сброс кошелька (решение многих возможных проблем с кошельком), удаление аккаунта, смена пароля, что делать в случае если Вы забыли пароль.

Адресная книга

Это что-то вроде "телефонной книги", куда Вы можете сохранить имя и адрес кошелька человека. Это очень удобно, если Вы регулярно совершаете транзакции по одному и тому же адреса, более того, это исключит возможность фишинга.

Для того, чтобы воспользоваться адресной книгой и добавить контакт:

Перейдите в Опции, Settings, вкладка Contacts, нажмите на плюсик в синем кружочке:

Впишите имя и адрес контакта, нажмите Save, контакт будет добавлен в адресную книгу:

Теперь при отправке Вам будут подсказывать адреса из адресной книги:

Перейдите Settings, вкладка Contacts, нажмите на Add contacts:

Добавьте имя и адрес контакта, нажмите Save, контакт будет добавлен в адресную книгу:

Перейдя на страницу отправки, Вы убедитесь, что контакт добавился:

Блокировка кошелька

Вам нужно отойти от компьютера? Не забудьте заблокировать кошелек, тем самым обезопасив его!

Для этого просто нажмите Lock в Опциях:

Зайдите в Опции и нажмите Log Out:

Смена имени кошелька

�� Для этого перейдите в Account detail и нажмите на значок карандашика:

Измените имя и сохраните его:

Смена языка, валюты и отображения профиля

В этом пункте разберем изменение языка, валюты и отображения профиля кошелька.

• Начнем с чего-то простого, перейдя в Settings, во вкладку General, Вы можете поменять валюту отображения стоимости Ваших активов, а так же язык приложения.

�� • Так это выглядит на компьютере:

�� • А так в телефоне:

Я продолжу на английском языке и с валютой Доллар США.

• Здесь же Вы можете сменить основную валюту кошелька — нативная (криптовалюта) или фиатная (в обычных валютах), так это будет выглядеть при выборе каждой из опций:

• А так же поменять отображение Вашего профиля, пример результатов выбора привожу:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *