Git Product home page Git Product logo

doc.zk-evm's Introduction

Linea documentation

Linea is a developer-ready Layer 2 network, scaling Ethereum by providing an Ethereum-equivalent environment in which to execute transactions, which are then submitted to Ethereum Mainnet through a zero-knowledge rollup.

This documentation repository is built using Docusaurus, and the site itself is published at docs.linea.build.

See more information about how Consensys uses Docusaurus.

Contribute to the docs

See something missing? Error in our documentation? Create an issue here.

Alternatively, help us improve our documentation! Fork our repo, create a pull request, and tag us for review! (for help on this, see below)

Take a look at some good first issues to get started.

How to submit a suggestion or change

The best way to suggest a change to these docs is through a process known as a pull request. If you're not familiar with how that works, check out GitHub's guide here.

If that process is too involved for you, you can always open a thread on the Community forum, or a ticket on the Support page.

If you are familiar with making a pull request, we highly recommend that you run a version of these docs locally, and preview your changes locally, before submitting them. In fact, it's part of the PR process.

Running locally

You will need to have Node.js installed to run the live previews of the docs locally.

It is highly recommended that you use a tool like nvm to manage Node.js versions on your machine.

Installing recommended Node.js version with nvm

  1. Follow the above instructions to install nvm on your machine, or go here.
  2. Go to root folder of this project in your terminal.
  3. Run nvm install followed by nvm use. This will install the version specified by this project in the .nvmrc file.

Running this project

  1. Navigate to root folder of the project after installing Node.js

  2. Run the following in sequence, which only needs to be done once:

    npm install
    npm run prepare
  3. To preview and for every time afterwards:

    npm run start

Local Development

$ npm install
$ npm run prepare
$ npm start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

$ npm run build

This command generates static content into the build directory and can be served using any static contents hosting service.

Adding new words to the dictionary

This repository includes a linter, which you can think of as a spell-check that also checks code formatting and standards, and a lot more. It's possible that you will use a word in your content that is not known to the linter, and your build, or commit, will fail.

If this happens, take a look at project-words.txt in the root directory of your project; if the word that the linter caught is correctly spelled, and you wish it to pass the linter's test, add it to project-words.txt, save, add and commit those changes, and see if it passes.

Local development

$ npm install
$ npm run prepare
$ npm start
$ git commit

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

$ npm run build
$ npm run serve

This command generates static content into the build directory.

Contribute to community tutorials

If you've created more fleshed out guides and tutorials, we'd love to feature your content in our community tutorials section. Fork our repo, create a pull request, and tag us for review!

You can learn how to add a post under the /blog directory by following the Docusaurus instructions for adding posts.

Contribute to the Zero-Knowledge Glossary

Diving into zero-knowledge rollups and getting stumped by the technical jargon? We've started an open source Zero-Knowledge glossary to define some common terms you might encounter as you dive into the L2 landscape.

Fork our repo, and add a term in alphabetical order to docs/reference/glossary.md. Then, make a pull request and tag us for review!

Additional Resources

View the Consensys doc contribution guidelines for information on how to:

doc.zk-evm's People

Contributors

alainncls avatar alexandratran avatar bgravenorst avatar cedrabner avatar croll83 avatar d-lol-b avatar dariaag avatar dependabot[bot] avatar dfox-consensys avatar doongzzi avatar eabdelmoneim avatar ed-umb avatar emilyjlin95 avatar ezzahhh avatar jlwllmr avatar joalavedra avatar julien-marchand avatar julink-eth avatar kaikawaliu avatar mapachurro avatar nicolasmassart avatar odcey avatar omahs avatar rico-bee avatar rolandtyler avatar sammysango avatar tabascoatw avatar vanshwassan avatar wtzb avatar zzuziak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doc.zk-evm's Issues

Requesting to list Mintair in Linea - run your own node category.

We kindly request the consideration of adding Mintair to the "Run Your Own Node" section within the Linea documentation. This comes after the encouraging achievement of successfully running over 500+ Linea nodes through Mintair. We believe that documenting this method would greatly benefit the Linea community by providing an accessible and efficient option for node setup. We hope to enrich the documentation with a detailed guide on utilizing Mintair, aiming to enhance the user experience and contribute to the growth of the Linea network.

Standardize documentation to use sentence case

The Linea documentation site currently employs a mix of sentence case and title case across various sections and pages. This inconsistency in case usage diminishes the overall readability and professional appearance of the documentation.

Areas Affected:

  • Main headings and subheadings across documentation pages
  • Navigation elements and menu items

Optimizing Support Documentation: A Call for Background Color Modification in Linea's Technical Information

Proposal for Improving Text Readability: Consider Background Color Change

Issue Description

Hello @emilyJLin95,

I hope this message finds you well. As a dedicated user of Linea Layer 2 Blockchain, I have identified an opportunity to enhance the overall user experience, specifically in the technical support section.

Observation

In the support documentation, particularly in questions serving as link indicators (e.g., "What are Linea's official channels?" accessible via this link), the current white background appears to impact text readability and contrast.

Suggestion

I recommend considering a subtle background color change, ensuring alignment with Linea Layer 2 Blockchain's brand identity. This adjustment aims to improve text visibility, enhance contrast, and facilitate easier navigation, particularly for questions indicating further links.

Example Images

  • Before Change:
    Before Change

  • After Change:
    This is just an example. The background color can be changed to any other suitable color.
    After Change

Additional Notes

I primarily interact with the site using a laptop, and I believe this small adjustment can significantly contribute to a more user-friendly experience.

Thank you for your time and consideration. I look forward to your insights on this matter.

Best regards,
@jaguard2021

linea rpc not working properly

As described here: https://docs.linea.build/reference/api/linea-estimategas and here: https://docs.linea.build/build-on-linea/gas-fees

curl https://rpc.linea.build \ -X POST \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"linea_estimateGas","params":[{"from":"0x42c27251C710864Cf76f1b9918Ace3E585e6E21b","gasPrice":"0x100000000","gas":"0x21000"}],"id":53}'

Correct response should be like:
{ "jsonrpc": "2.0", "id": 53, "result": { "baseFeePerGas": "0x7", "gasLimit": "0xcf08", "priorityFeePerGas": "0x43a82a4" } }

But, the response now is:
{"jsonrpc":"2.0","id":53,"error":{"code":-32601,"message":"the method linea_estimateGas does not exist/is not available"}}

Could you help take a look? Thanks in advance.

Correct style of compound nouns involving the term "trace"

Our approach to handling the word "trace" and its derivates varies across the docs. Specifically, problematic/unidiomatic usage seems to arise when the term is included in a compound noun, e.g. "traces generation".

We need to ensure all instances of traces that occur in compound nouns are addressed.

Generally, I think the solution should be to correct these instances to singular, e.g. "trace generation", or "trace generator".

npm i -D @truffle/hdwallet-provider throws an error

npm i -D @truffle/hdwallet-provider throws an error

Multiple people reported an error message when using npm i -D @truffle/hdwallet-provider
npm i @truffle/hdwallet-provider works fine.

There are 2 times where it is asked to install @truffle/hdwallet-provider :
Screen Shot 2023-03-15 at 11 10 28 AM
Screen Shot 2023-03-15 at 11 10 36 AM

Clarify gas estimation

I'm trying to understand how exactly the gas use is calculated. I've checked LineaEstimateGas.java, however I couldn't find anything related to how L1 fees are calculated and factored in.

Could you please provide the formula used to go from pure L2 gas use to total gas use including L1?

Thanks!

Standardize the use of index files across top-level topics

There is an inconsistency in how index files (index.md) are used across different top-level topics within the documentation. Specifically, some top-level topics contain content within their index.md files, while others do not. This inconsistency can lead to confusion for both users navigating our documentation and contributors maintaining it.

For this issue we may need to decide on a consistant approach first.

Add Arcana updates to Linea docs

Arcana wallet comes pre-configured with Linea. Web3 apps that integrate with the Arcana Auth SDKs allow users to instantly access Arcana wallet from within the app context and begin signing blockchain transactions. No need to install any browser extension. Plus it also supports gasless.

linea mainnet

add more dapp listed in docs for testnet open for mainnet

Add a twitter card

The Linea documentation does not have a preview card

Screenshot 2023-06-10 114353

Please provide me with a link to the Linea logo so I can add it to the configuration file.
Thank you.

Issues with `markdown-link-check-disable-next-line`

in index.mdx within /docs/build-on-linea/linea-version, the markdown link check escape tags are throwing errors.

I'm going to comment them out, for now. This seems to be a misalignment between tooling, ie, how does the link checker parse HTML in an MDX context.

image

Add PADO to Linea doc in Tooling & Infra section

Hello Team,

I'd like to propose adding a section on the PADO project within "Build on Linea > Tooling and Infrastructure > Attestation". PADO is a cryptography-based infrastructure to bring all Internet data into smart contracts. To be more precise, PADO leverages interactive ZK and MPC techniques to "blindly" validate Internet data via TLS channels. Such techniques can be roughly viewed as “private oracles” that retrieve users’ private data from Internet sources, compared with public oracles that feed public web data to smart contracts. In addition, the Internet data is reliable because the data authenticity is guaranteed under the ZK-based attestation pipeline, and the privacy is well protected regarding to specific application logic by using zero-knowledge proofs.

We would like to propose PADO as a type of attestation protocol, rather than oracles, because we think the former is a more broader expression considering the scenarios of the protocol outputs.

PADO dApp is developed on Linea, and integrated with Verax attestation registry. Users can create their own Internet data attestations by using PADO dApp. These attestations can be stored and accessed from Verax by all Linea dApps.

Introducing PADO section in the documentation gives general guidance on how users or developers can create and use off-chain data attestations in various scenarios.

I'll create a PR for this section. Feedback and thoughts are welcome!

LineaGoerli to Goerli

The LineaGeorli to Linea Bridge as outlined here:

https://docs.linea.build/build-on-linea/use-linea-testnet/bridge-funds/usdc-bridge#linea-goerli-to-goerli

has the Bridge contract address as this:
0xA59477f7742Ba7d51bb1E487a8540aB339d6801d
https://goerli.lineascan.build/address/0xa59477f7742ba7d51bb1e487a8540ab339d6801d

The docs say to utilize the proxy version for interaction but the proxy version isn't available at that address. According to the fancy scan site, this is due to the implementation contract not being verified:

(Imp. Cont.)
0xC440D64b826c2707DC982ca55162d5609cE3f203
https://goerli.lineascan.build/address/0xc440d64b826c2707dc982ca55162d5609ce3f203#code

However, there are links to similar contracts but I think those are for other ERC20 tokens, although I could be wrong. I mean if all of the info is there, I guess I could verify the contract, but I would hate to try and win and piss someone off or try and fail but send a message to God that pisses someone off, so...maybe someone can fix it. Or tell me what to do and I'll fix it...thanks

Run a Linea node - Edge nodes

The boot nodes listed on this page in Step 5. Start the Geth client for testnet are incorrect and need to be updated.

Old:

--bootnodes "enode://c7d29d1bbb768e73c6bd320608276dc2341670822ed1292456a7b8375de35b5348e3b6bac63783a53d697378b25c5658681683f7621e31b37c605993c5ee13bd@18.189.141.200:30303,enode://14ba040dd8c5b1ea607fabf98c3c7c398658f897c502d0ca5202dce8907e83be953995ce5c3f72def2af710c072fe38de4e9347a299370fc82d6d17819967c93@3.144.118.88:30303" \

New:

--bootnodes "enode://700f0d5a5f2beadc307b7b8f1a251f8b75033c8222ca65bfb1aecc4c4a0a86d6d6ef8420e780f6ace7cc3d1b837606b116109cc53b00931d3debc1346b9ccbb8@13.51.255.207:31001,enode://cbbaacaf47a005cb389b40f6676d63800cc65295aad0983e5ce9f2e5bf805274cded5ef313993a2564591d6caab6322c2a39a0b3a21143034378179c7d5ecd44@3.16.167.169:31001"

Add "Scamfari" to Linea Documentation's Security Section

Hello Team,

I'd like to propose adding a section on the Scamfari project within "Build on Linea > Tooling and Infrastructure > Security". Scamfari is a cybersecurity application developed on Linea. It provides users with a platform to report activities of malicious actors. In the world of blockchain, the presence of scammers, phishers, and other malicious entities poses a persistent threat. Scamfari plays a crucial role in documenting and combating these threats. Each submitted report is reviewed by specialized cybersecurity professionals, ensuring data reliability before it's integrated into databases, such as the HAPI Protocol.

Highlighting Scamfari in the documentation offers a glimpse into how Linea can be leveraged for tangible, security-focused applications. This demonstrates to potential developers and users the breadth of possibilities on the Linea platform.

I'm ready to kick-start the necessary PRs for this addition. Please share your thoughts!

Please add a note about rate limiting on https://rpc.goerli.linea.build

What is the right RPC endpoint for deploying on linea can anyone confirm, please? A few people are confused about infura account they don't see linea endpoint there, it's only available for private beta participants.

https://rpc.goerli.linea.build/ is rate-limited. If users are existing dapps that will collect a reasonable amount of requests, is better to use infura and reach out Marco on telegram so that he can enable Linea endpoint in Infura for them (not sure about contacting part please correct :) )

Bridges and Integration with Solana, Cosmos & BTC Layer 2s

In order for Linea to thrive, prioritizing ease of use and seamless adoption is paramount, especially considering the importance of accessibility. Reflecting on my own experience with MetaMask, I encountered challenges when attempting to transfer ETH onto the Linea chain. Despite purchasing ETH through MetaMask, the funds ended up on the Ethereum chain instead of Linea, requiring additional time and effort to rectify the situation.

Streamlining such integrations is crucial for enhancing Linea's usability and user experience. I'm genuinely excited about Linea's potential and eager to witness its evolution. Additionally, it's worth noting that the fastest-growing chains, such as Solana and BTC layer 2 projects like Merlin Chain present significant opportunities. Proactively ensuring Linea's visibility and seamless accessibility from these chains could prove to be a lucrative strategic move along with the Cosmos echo system for maximum visibility. Example attached in imageimage

Update the horizontal nav bar

Update the horizontal nav bar by moving "Support" and "Linea home" to the footer. Also, we can remove the reference to the gnark-repo.

Running a Linea node is a frequently searched for topic, so perhaps add a link to the content in the horizontal menu (Check on the progress of #431 before making this change)

Error: You must specify a network_id in your 'consensys-zkevm-goerli' configuration in order to use this network.

Error: You must specify a network_id in your 'consensys-zkevm-goerli' configuration in order to use this network.

When following this page: https://docs.zkevm.consensys.net/developers/quickstart/deploy-smart-contract/truffle

  1. adding truffle-config.js:
require("dotenv").config();
const { MNEMONIC, INFURA_API_KEY } = process.env;

const HDWalletProvider = require("@truffle/hdwallet-provider");

module.exports = {
  networks: {
    consensyszkevmgoerli: {
      provider: () => {
        return new HDWalletProvider(
          MNEMONIC,
          `https://consensys-zkevm-goerli-prealpha.infura.io/v3/${INFURA_API_KEY}`,
        );
      },
      network_id: "59140",
    },
  },
  // ... rest of truffle-config.js
};

After calling truffle migrate --network consensys-zkevm-goerli from the CLI I hit:

Error: You must specify a network_id in your 'consensys-zkevm-goerli' configuration in order to use this network.

When updating network in truffle config:

 networks: {
    'consensys-zkevm-goerli': {

I was able to deploy the contract

System settings

  • OS
  • Brave

Improve visibility of code snippets with syntax highlighting

Code snippets within the Linea documentation, particularly those enclosed in backticks, closely resemble the surrounding normal text in terms of styling. Additionally, there is a noticeable lack of syntax highlighting in most places where code snippets are presented. This lack of distinction and highlighting can hinder readability. Using a monospaced font will also improve the readability of code snippets.

Docusaurus includes functionality for this (which may be broken), so some investigation is required.

Areas Affected:

  • Inline code snippets (enclosed in single backticks)
  • Block code snippets (enclosed in triple backticks)
  • Any other documentation sections where code or command-line examples are presented

Integrate Linea to Aptos Bridge

Transferring Assets from Aptos to Other Chains

Transferring assets from Aptos back to other chains (ex. Ethereum) does not require additional registration or claim transactions. Transfers out of Aptos are subject to a 2 to 3 day waiting period before the transaction is completed. This waiting period is for security purposes and allows for a significant number of blocks to be finalized before relaying messages to non-Aptos chains.

aptos

Add Utility to Linea Voyage Nft

Issue: Linea Voyage Nfts need more Utility

Linea is focused on building a strong community while providing “real-world utility” for their “NFTs to ensure long-term success and sustainability.”

Problem: The Linea Voyage NFTs are way undervalued. The Linea Network is superior to most chains with substantial growth potential.

In an attempt to stop Sybil behavior, Phishing attacks, and bad actors Linea Voyage NFTS could be used as a private club for partaking in the Ecosystem.

So adding utility to Linea Voyage NFTs could involve creating a platform or ecosystem where these NFTs can be utilized. Here are some ideas:

1.) Exclusive Access: Linea Voyage NFT holders could gain exclusive access to certain events, content, or experiences related to the Linea Voyage brand.

2.) Membership Benefits: Holders could receive membership benefits such as discounts on Linea Voyage merchandise, early access to new collections, or special offers on travel packages.

3.) Governance: Implement a governance system where NFT holders have voting rights on decisions related to Linea Voyage, such as future artwork releases, collaborations, or charity initiatives.

4.) Staking and Rewards: Introduce a staking mechanism where NFT holders can stake their tokens to earn rewards, such as additional NFTs, tokens, or even real-world rewards like travel vouchers.

By adding utility to Linea Voyage NFTs, you can enhance SECURITY, add VALUE and create a more ENGAGING experience for collectors and enthusiasts. Let me know what you think or how else we could protect the Linea Ecosystem!!

OTHER WALLET NETWORK COMPATIBILITY

i feel l this would bring in more volume and transactions into the ecosystem whereby investors like me can bridge and website be evm and solana chain compatible .

Restructure the "Run a node" content

Restructure the Run a Linea node content.
The content is currently hard to follow due to the complicated right side navigation and formatting issues.

Also, add steps on calling the node using an RPC request to confirm that the node is running correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.