Welcome! Login to Play
)}What do you think is coming next?
Status: {status}
A simple smart contract that stores a `string` message on its state
A friendly counter that stores a number with methods to increment, decrement, and reset it
Users can sign the guest book, optionally paying `0.01 Ⓝ` to mark their messages as "premium
Forward NEAR tokens to a beneficiary while tracking all donations. Learn how contracts handle token transfers
Guess the outcome of a coin flip and earn points. Demonstrates how to handle randomness on the blockchain
Status: {status}
```json { "jsonrpc": "2.0", "result": { "block_hash": "GTZdXfNmnL6TkJFdBeVMHCadgLuKChVfRNCSVsEQoJ7L", "block_height": 187444191, "logs": [], "result": [ 34, 71, 114, 101, 101, 116, 105, 110, 103, 115, 32, 102, 114, 111, 109, 32, 78, 69, 65, 82, 32, 80, 114, 111, 116, 111, 99, 111, 108, 33, 34 ] }, "id": "dontcare" } ``` **Note**: `[34, 71, ..., 33, 34]` is an array of bytes, to be specific it is an ASCII code of `"Greetings from NEAR Protocol!"`. `near-sdk-rs` and `near-sdk-js` return JSON-serialized results.
```json { "jsonrpc": "2.0", "result": { "block_hash": "8Gp8x1ZcanL3C2ris9rgk1nY8v6MuickLWeM6Gj2jGKs", "block_height": 187445443, "logs": [], "result": [ 34, 72, 101, 108, 108, 111, 44, 32, 78, 101, 97, 114, 32, 80, 114, 111, 116, 111, 99, 111, 108, 33, 34 ] }, "id": "dontcare" } ``` **Note**: `[34, 72, ..., 108, 33, 34]` is an array of bytes, to be specific it is an ASCII code of `"Hello, Near Protocol!"`. `near-sdk-rs` and `near-sdk-js` return JSON-serialized results.
You'll need to sign in to interact with the counter:
```bash [ 'ref-finance.sputnik-dao.near' 'gaming-dao.sputnik-dao.near', ... ] ```
```bash [ { id: 9262, proposer: 'pasternag.near', description: 'NEAR, a top non-EVM blockchain, has gone live on Router’s Testnet Mandara. With Router Nitro, our flagship dApp, users in the NEAR ecosystem can now transfer test tokens to and from NEAR onto other supported chains. $$$$https://twitter.com/routerprotocol/status/1727732303491961232', kind: { Transfer: { token_id: '', receiver_id: 'pasternag.near', amount: '500000000000000000000000', msg: null } }, status: 'Approved', vote_counts: { council: [ 1, 0, 0 ] }, votes: { 'brzk-93444.near': 'Approve' }, submission_time: '1700828277659425683' }, { id: 9263, proposer: 'fittedn.near', description: 'How to deploy BOS component$$$$https://twitter.com/BitkubAcademy/status/1728003163318563025?t=PiN6pwS380T1N4JuQXSONA&s=19', kind: { Transfer: { token_id: '', receiver_id: 'fittedn.near', amount: '500000000000000000000000', msg: null } }, status: 'InProgress', vote_counts: { 'Whitelisted Members': [ 1, 0, 0 ] }, votes: { 'trendheo.near': 'Approve' }, submission_time: '1700832601849419123' } ] ```
```json { "token_contract_id": "token.v2.ref-finance.near", "price": "0.08153090" } ```
```json { "token.v2.ref-finance.near": "0", "wrap.near": "0" } ```
```bash { 'token.v2.ref-finance.near': '0', 'wrap.near': "0" } ```
```bash { 'token.v2.ref-finance.near': '0', 'wrap.near': "0" } ```
```js [ { pool_kind: 'SIMPLE_POOL', token_account_ids: ['token.skyward.near', 'wrap.near'], amounts: ['51865812079751349630100', '6254162663147994789053210138'], total_fee: 30, shares_total_supply: '1305338644973934698612124055', amp: 0, }, { pool_kind: 'SIMPLE_POOL', token_account_ids: [ 'c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.factory.bridge.near', 'wrap.near', ], amounts: ['783621938569399817', '1100232280852443291118200599'], total_fee: 30, shares_total_supply: '33923015415693335344747628', amp: 0, }, ]; ```
```bash [ { pool_kind: 'SIMPLE_POOL', token_account_ids: [ 'token.skyward.near', 'wrap.near' ], amounts: [ '51865812079751349630100', '6254162663147994789053210138' ], total_fee: 30, shares_total_supply: '1305338644973934698612124055', amp: 0 }, { pool_kind: 'SIMPLE_POOL', token_account_ids: [ 'c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.factory.bridge.near', 'wrap.near' ], amounts: [ '783621938569399817', '1100232280852443291118200599' ], total_fee: 30, shares_total_supply: '33923015415693335344747628', amp: 0 } ] ```
```bash [ { pool_kind: 'SIMPLE_POOL', token_account_ids: [ 'token.skyward.near', 'wrap.near' ], amounts: [ '51865812079751349630100', '6254162663147994789053210138' ], total_fee: 30, shares_total_supply: '1305338644973934698612124055', amp: 0 }, { pool_kind: 'SIMPLE_POOL', token_account_ids: [ 'c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.factory.bridge.near', 'wrap.near' ], amounts: [ '783621938569399817', '1100232280852443291118200599' ], total_fee: 30, shares_total_supply: '33923015415693335344747628', amp: 0 } ] ```
```bash '5019606679394603179450' ```
```bash '5019606679394603179450' ```
| User | Total Donated Ⓝ |
|---|---|
| {donation.account_id} | {utils.format.formatNearAmount(donation.total_amount)} |
*High-level architecture of Ethereum wallets on NEAR*
*On your first login, a NEAR accounts with the same address as your Ethereum wallet is created, and the Wallet Contract is deployed on it*
The `Wallet Contract` will then execute the function call, and the application will receive the result.
---
## Resources
Check the following resources to learn more about Ethereum wallets on NEAR:
- [Adding EVM Wallets to your NEAR App](../tutorials/web-login/ethereum-wallets.md) - Step-by-step tutorial on how to add Ethereum wallets support to your NEAR app
- [NEP-518 Technical Specification](https://github.com/near/NEPs/issues/518) - Full technical specification of how Ethereum wallets work on NEAR
---
# Source: https://docs.near.org/web3-apps/tutorials/web-login/ethereum-wallets.md
---
title: EVM Wallets Login
id: ethereum-wallets
description: "Learn how to integrate Ethereum wallets like MetaMask into your NEAR DApp using the Near Wallet Selector, Web3Modal, and wagmi libraries."
---
Using the [Wallet Selector](./wallet-selector.md) it is possible to login into NEAR applications using Ethereum wallets like MetaMask, WalletConnect and many others.
This tutorial will guide you to add Ethereum wallet support to your NEAR application using the [Reown](https://reown.com/appkit) library, which is widely used in the Ethereum ecosystem.
:::info
Learn more about Ethereum Wallets on NEAR in our [concepts page](../../concepts/eth-wallets.md)
:::
---
## Overview
To integrate Metamask and other EVM wallets you will need to:
1. Add the `@near-wallet-selector/ethereum-wallets` module
2. Add the EVM libraries `wagmi` and `reown`
3. Create configurations so the Ethereum wallets can communicate with our [Translator RPC](../../concepts/eth-wallets.md#translator-rpc)
4. Create a Web3Modal and connect it to the Near Wallet Selector
5. Initialize the Ethereum Wallets
We will show how we added Ethereum Wallets support to our [**Hello Near Examples**](https://github.com/near-examples/hello-near-examples/tree/main/frontend).
:::tip
This article was created by the AuroraLabs team, and appeared originally in the [official Aurora documentation](https://doc.aurora.dev/dev-reference/eth-wallets)
:::
---
## 1. Update Wallet Selector libraries
Lets start by updating the `package.json`, adding all the necessary libraries to support Ethereum wallets.
```json { "spec": "ft-1.0.0", "name": "Ref Finance Token", "symbol": "REF", "icon": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='16 24 248 248' style='background: %23000'%3E%3Cpath d='M164,164v52h52Zm-45-45,20.4,20.4,20.6-20.6V81H119Zm0,18.39V216h41V137.19l-20.6,20.6ZM166.5,81H164v33.81l26.16-26.17A40.29,40.29,0,0,0,166.5,81ZM72,153.19V216h43V133.4l-11.6-11.61Zm0-18.38,31.4-31.4L115,115V81H72ZM207,121.5h0a40.29,40.29,0,0,0-7.64-23.66L164,133.19V162h2.5A40.5,40.5,0,0,0,207,121.5Z' fill='%23fff'/%3E%3Cpath d='M189 72l27 27V72h-27z' fill='%2300c08b'/%3E%3C/svg%3E%0A", "reference": null, "reference_hash": null, "decimals": 18 } ```
```bash { spec: "ft-1.0.0", name: "Ref Finance Token", symbol: "REF", icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='16 24 248 248' style='background: %23000'%3E%3Cpath d='M164,164v52h52Zm-45-45,20.4,20.4,20.6-20.6V81H119Zm0,18.39V216h41V137.19l-20.6,20.6ZM166.5,81H164v33.81l26.16-26.17A40.29,40.29,0,0,0,166.5,81ZM72,153.19V216h43V133.4l-11.6-11.61Zm0-18.38,31.4-31.4L115,115V81H72ZM207,121.5h0a40.29,40.29,0,0,0-7.64-23.66L164,133.19V162h2.5A40.5,40.5,0,0,0,207,121.5Z' fill='%23fff'/%3E%3Cpath d='M189 72l27 27V72h-27z' fill='%2300c08b'/%3E%3C/svg%3E%0A", reference: null, reference_hash: null, decimals: 18 } ```
```json "3479615037675962643842" ```
```bash '376224322825327177426' ```
```json "100000000000000000" ```
```bash '100000000000000000' ```
Generate a new key on [Lantstool](https://app.lantstool.dev/)
The result will be a list of future maintenance windows in current epoch. For example a window `[1028, 1031]` includes block heights 1028, 1029 and 1030.
sys.rs{validAuction}
{nftMetadata?.description}
Is there a plan to support GPU compute if certain validator nodes can offer that or is it just CPU?## Block & Chunk producers The top 100 validators are responsible for producing and validating blocks, as well as producing chunks. Under normal circumstances, each validator is assigned to a single shard, for which it produces chunks. Block & Chunk producers are guaranteed a minimum annual reward of 2.5%. If less than 100% of the network’s tokens are staked, validators have the potential to earn even higher annual rewards. ## Chunk Validators [Note] Block & Chunk producers also serve as chunk validators. Non-top 100 validators take on the role of chunk validators, which has lower hardware and staking requirements, making it more accessible. This role helps expand the network's validator set, increasing opportunities to earn rewards and strengthen the security of the NEAR ecosystem. Chunk validators do not track shards. Their responsibilities are focused solely on validating and endorsing chunks. Like block and chunk producers, chunk validators are guaranteed a minimum of 2.5% annual rewards. If less than 100% of the network’s tokens are staked, chunk validators may earn even higher rewards. For more details on validator economics, check out [NEAR’s Economics Explained](https://near.org/blog/near-protocol-economics/). ## Dedicated Validator Documentation Site If you'd like to further explore Validators and Nodes in general, you can visit the [Dedicated Validator Documentation Site](https://near-nodes.io/).
We don't need GPU support as we are a POS chain and we require very little compute power. You can read more about our consensus strategy on our Validator Quickstart and Staking FAQ.
If a developer writes a vulnerable or malicious dApp, is a validator implicitly taking on risk?--- # Source: https://docs.near.org/tutorials/multichain-dao/voting.md --- id: voting title: MultiSig Voting description: "Learn how to deploy a MultiSig contract and vote on multi-chain proposals using the Abstract DAO." --- Now that we understand how the Abstract DAO works, it is time to use it in within an organization. Lets see how to deploy a MultiSig contract, where users will vote on a multi-chain proposal. --- ## Creating a MultiSig Contract As a first step we need to create an account and deploy a MultiSig contract on it, so users can start creating proposals and voting on them. :::info Deploy Multisig You can download the [compiled multisig](https://github.com/near/core-contracts/raw/refs/heads/master/multisig2/res/multisig2.wasm) from the near repository ::: ```bash near create-account
No. We have handled the potential damages to the network on the protocol level. For example, we have a lot of limiters that constrain how much data you can pass into a function call or how much compute you can do in one function call, etc. That said, smart contract developers will need to be responsible for their own dApps, as there is no stage gate or approval process. All vulnerabilities can only damage the smart contract itself. Luckily, updating smart contracts is very smooth on NEAR, so vulnerabilities can be updated/patched to an account in ways that cannot be done on other blockchains.