GithubHelp home page GithubHelp logo

smartcontractkit / documentation Goto Github PK

View Code? Open in Web Editor NEW
368.0 121.0 379.0 190.37 MB

https://docs.chain.link The Chainlink developer documentation website for Smart Contract Devs and Node Operators

Home Page: https://docs.chain.link

License: MIT License

JavaScript 0.77% CSS 1.67% TypeScript 11.38% Solidity 9.72% Python 0.11% Rust 0.12% Shell 0.09% Astro 3.79% MDX 72.33% Batchfile 0.01%
chainlink solidity defi blockchain

documentation's Introduction

Chainlink Docs logo

Welcome to Chainlink developer documentation repository. This repository is the source for developer documentation on docs.chain.link, which is a resource for smart contract developers and node operators building decentralized applications on several networks.

This documentation is open source. If you want to contribute tutorials or improvements, see the Contributing guide.

Note

The code samples in this documentation are examples for using Chainlink products and services and are provided to help you understand how to interact with Chainlink's systems and services so that you can integrate them into your own. These templates are provided "AS IS" and "AS AVAILABLE" without warranties of any kind, have not been audited, and may be missing key checks or error handling to make the usage of the product more clear. Do not use the example code in a production environment without completing your own audits and application of best practices. Neither Chainlink Labs, the Chainlink Foundation, nor Chainlink node operators are responsible for unintended outputs that are generated due to errors in code.

Developing

To run a local development environment, use the following command:

npm install && npm run dev

Docs architecture

  • All docs are markdown and stored in /src/content.
  • Navigation is JSON in /src/config/sidebar.ts

Deploy Preview

This repo is configured to automatically create a preview environment on Vercel when a PR is opened. After the deployment is approved, the Vercel bot will leave a comment with a link to the preview on your PR.

Deploying to Production

This repo is configured to automatically update the production (https://docs.chain.link) site when commits are pushed to the main branch.

documentation's People

Contributors

aelmanaa avatar alejandro-larumbe avatar alexroan avatar anushv avatar balajipachai avatar bradford-m avatar bsilagani avatar chudilka1 avatar cljosh avatar danielgruesso avatar dwightjl avatar fmonper1 avatar george-dorin avatar github-actions[bot] avatar jmank88 avatar khadni avatar melchermaxwell avatar pappas999 avatar patrickalphac avatar ritika-b avatar rohhan avatar ryannelsonsmartcontract avatar samsondav avatar simkasss avatar stephenfluin avatar thedriftofwords avatar wentzeld avatar yacine-benichou avatar yosriady avatar zakayesh 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  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

documentation's Issues

Add link per section.

It would be great to have links to each section, for example, this image:
Screen Shot 2021-05-05 at 9 34 29 AM

Could have the link:

https://docs.chain.link/docs/architecture-request-model/#ChainlinkClient

Navigation to scroll independently of content

The left menu is anchored to the main content, in that to scroll one; you must scroll both.

This means that the length of the page is dictated by the longest section (either menu or content). When you land on a page, you land at the top, which is desired for the main content. However, it is not for the menu, where the active menu item is often further down the page.

Some ideas:

  • Have the height of the left menu navigation container be determined by the length of the main content.
  • Make the menu itself scrollable, independent of the main content scroll.
  • Auto-scroll the menu on page-load to vertically centre the active item.

NEEDS VOTES: Rinkeby or goerli

Kovan has been having issues in the past, and it would be ideal to migrate our "banner" examples to rinkeby or goerli.

Looking for votes for rinkeby or goerli.

Rinkeby is used by projects like opensea, while goerli is the stomping grounds for ETH 2

Add page for Polygon / Matic ENS

ENS has been deployed to Polygon by our team.

Let's start with an ens-polygon.md page that's linked to on the ENS docs page.

Example web3 usage of the ENS on Polygon is here:

web3.eth.ens.registryAddress = "0x37C2058a99A8804bcEE54de1DbCEfC3FA866fF85"
web3.eth.ens.getAddress('eth-usd.data.eth')
  .then((address) => {
    console.log(address)
  })

Add Keepers FAQ

Getting this question asked a few times.

  1. How often are they updated/call checkupkeep? (Every 20 blocks or so)
  2. What's the delay between checkupkeep and perform upkeep? (a few seconds, and perhaps a few blocks depending on the layer 1)
  3. Is there a way to verify that performUpkeep is actually run by a Keeper and the data it has passed is legit? (you'd modify your smart contract to only allow responses from those on the registry)
  4. Costs

Design feedback

Typography

Images

  • Images throughout the docs are really oversized and don’t have any additional whitespace around them, so they basically touch whatever element is above or below them Example: https://cl.fluin.io/docs/fulfilling-requests/
  • Some images in inside of a bulleted list which looks weird, makes reading the list of bullets really difficult with how large the images are

Logo

  • The developers wordmark is the fallback font on my end. Feel free to use the supplied Docs logo lockup.

New components styling

  • The tabs, or the search-bar are not styled like Readme, but neither styled based on what we have on the Chainlink properties (eg. Data Feeds).

Add section to VRF for mapping requestId to answer

Give a demo of showing how to map your requestIds to the fulfilled randomness. ie something like:

mapping(bytes32 => uint256) requestIdToRandomNumber;

function fulfilRandomness(...)..{
requestIdToRandomNumber[requestId] =randomNumber;
}

Perhaps in a bestPractices section. We get this question in the discord fairly often.

Remove Node Op Mailing List links

Please remove the node op mailing list links from:

	modified:   docs/Node Operators/fulfilling-requests.md
	modified:   docs/Node Operators/node-operator-overview.md
	modified:   docs/Node Operators/running-a-chainlink-node.md
	modified:   docs/Oracle Jobs/adapters.md
	modified:   docs/Oracle Jobs/initiators.md
	modified:   docs/Oracle Jobs/job-specifications.md

Active menu item glitch

Navigating to "Introduction to Data Provider Nodes" doesn't activate the ".active" tag on the menu item. This screenshot is taken whilst on that page.

Screenshot 2021-07-09 at 14 49 21

Checksum all addresses

Right now, addresses are not checksummed, and a lot of compilers will throw errors if they are just copy pasted as so. For example:

The LINK token address of Rinkeby is marked as:
0x01be23585060835e02b77ef475b0cc51aa1e0709
And it should be:
0x01BE23585060835E02B77ef475b0Cc51aA1e0709

Warn customers of using equity and ETF Price Feeds

Add this message to relevant Price Feed pages:

Note, off-chain equity and ETF assets are only traded during standard market hours (9:30 am - 4 pm ET M-F). Using these feeds outside of those windows is not recommended.

Move data providers into a page

Take the list out of the navigation, and replace it with "Data Provider List" which links to a new page showcasing/listing the data providers.

Add devrel chainlink node API calls

  1. Add more context to choosing a chainlink oracle using the chainlink devrel nodes
  2. On the contract addresses page, add a code snippet of making API calls with the devrel nodes across testnets

Add a "what is Chainlink" section & new engineer button

Intuition: Right now, when I go to the documentation of something someone tells me to checkout, the first thing I want to do is ask "where the hell am I?"

We should have some form of navigation to do so.

Additionally, on our landing page, we have 3 action items. https://docs.chain.link/
None of them are beginner-friendly. I'd like to test out adding a "New engineer? Start here" type button that will take them to our tutorials.

Add Heartbeat and Deviation to Contract Pages

data.chain.link is a very inefficient way for a customer to see heartbeat and deviation thresholds for feeds, and some feeds are not visualized on that page. As such, there is no way for a user to find this information in some cases, or in the best case scenario, it will take them a while to obtain the information.

I propose adding a column for deviation and a column for heartbeat on these pages, just like we have for decimals.

https://docs.chain.link/docs/ethereum-addresses/
https://docs.chain.link/docs/binance-smart-chain-addresses/
https://docs.chain.link/docs/matic-addresses/
https://docs.chain.link/docs/xdai-price-feeds/
https://docs.chain.link/docs/huobi-eco-chain-price-feeds/
https://docs.chain.link/docs/avalanche-price-feeds/

Add best practices page for VRF

New VRF Best Practices page, link to it from the main VRF page, and then extract the expand randomness notes too.

  • “Getting more randomness (expanded randomness)”
  • “Getting a random number within a range (using modulo)”
  • “Having multiple requests for randomness in flight simultaneously (using maps and requestIds)”

Navigation is not responsive

The navigation sidebar is not responsive and doesn't show up on mobile screens. Something like a hamburger menu would be a nice start.

Feed Registry

On-chain registry that maps token contract addresses to Chainlink Price Feeds

Dark mode

Dark mode, please. Weather NFT to whoever completes it.

Add clarity to VRF instructions

Today, a user launched a VRF request on Polygon mainnet using the Kovan configuration. We believe this stems from them following the get a random number documentation given that the default config uses Kovan's configuration.

Recommendation:

  • Provide an explanation of what configurations need to be changed per chain
  • Link the user to the VRF Contract Addresses page to find the configuration they need

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.