Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge PR #219, #222 and #226 into main #227

Merged
merged 12 commits into from
Aug 9, 2021
Merged
29 changes: 11 additions & 18 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,33 +20,26 @@ Make yourself familiar with the [Project Structure](https://developers.cardano.o

We try to keep everything as simple as possible, but not simpler. If you see something that could be improved you are encouraged to raise an issue wherein you propose your changes and explain the rationale.

## Showcase
## Project Showcase

The project showcase should be a place where someone new to the ecosystem can come to see what can be done - it should not be seen as a database where every project is promoted.

### Requirements for adding your project
### Adding your own project

* It must be built on Cardano and have a real use case. For example, a forum where people can talk about Cardano is great, but nothing for this showcase section.
* It has to run on Cardano mainnet.
* It has to have a running product. (no presale, no protected pages, no coming soon messages)
* It has to have enough community reputation. @TODO how to measure this?
* It has to provide a unique value from existing showcase items. (we can't list thousands of NFT or native tokens with the current UI)
* It has to have a stable domain name. (a random Netlify/Vercel domain is not allowed, no URL shortener, no app store links, or similar)
* The GitHub account that adds the project must not be new.
* The GitHub account must have a history/or already be known in the Cardano community.

### Instructions to add your project

1. Add your project in the JSON array in the [src/data/showcases.js](https://github.com/cardano-foundation/developer-portal/edit/staging/src/data/showcases.js)
2. Add a description for your project that **describes what your project does**. Read more about descriptions [below](#a-word-about-project-descriptions]
3. Add a local image preview. (decent screenshot or logo of your project)
4. The image must be added to the GitHub repository and use `require("image")`.
5. [Create a pull request](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) for the `staging` branch.
Read the **requirements** and follow the **instructions** in the header of the [src/data/showcases.js](https://github.com/cardano-foundation/developer-portal/edit/staging/src/data/showcases.js) file

#### A word about project descriptions

Descriptions help users find a project they are interested in and decide whether to visit the links you provided. Use relevant keywords and describe what your project is all about or that it does. Don't include claims in your description like *the **best** wallet*, *the **first** ABC* or *the **only** XYZ*. We will ask you to change the description in your pull request before merging. @TODO rationale?

## Builder Tools

This section features tools that help developers build on Cardano.

### Adding your own tool

Read the **requirements** and follow the **instructions** in the header of the [src/data/builder-tools.js](https://github.com/cardano-foundation/developer-portal/edit/staging/src/data/builder-tools.js) file.

## Pull Requests

To maintain the quality of content on the developer portal we use pull requests to integrate changes from contributors.
Expand Down
2 changes: 1 addition & 1 deletion blog/2021-07-12-developer-portal-launch.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
slug: launch-of-the-developer-portal-2021
title: "Finally here: the Cardano developer portal! Accepting all builds."
title: "Finally here: the Cardano developer portal"
author: Cardano Foundation
author_title: Developer Spotlight
author_url: https://github.com/cardano-foundation
Expand Down
42 changes: 42 additions & 0 deletions blog/2021-08-09-nft-minting-standard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
slug: nft-minting-standard
title: "How we minted the NFTAs, and why we went for this standard"
author: Cardano Foundation
author_title: Developer Spotlight
author_url: https://github.com/cardano-foundation
author_image_url: https://avatars.githubusercontent.com/u/37078161?s=200&v=4
tags: [developer-portal, nft, nfta]
description: "How we minted the NFTAs, and why we went for this standard."
image: https://developers.cardano.org/img/og-developer-portal.png
---

![title image](/img/devblog/nfta.jpg)

**Dear Cardano community,**

To celebrate the [Cardano Developer Portal launch](https://developers.cardano.org/), The Cardano Foundation minted the world’s first Non-Fungible Tokens of Appreciation (NFTAs). NFTAs are NFTs showing appreciation to the ten developers that provided feedback and helped build the developer portal. Think of them as “certificates of participation” when you attend a seminar or an event that they give out to attendees. Only they are digital!

<!-- truncate -->

In addition, to show our appreciation, we rewarded the community members with Bronze Tokens of Appreciation. Bronze Tokens are a way to give the NFTAs extra utility over their collectability. Tokens can be redeemed once to highlight a topic or project on the Cardano Developer Portal. For example, it can spotlight a project they are working on or inform the Cardano community of a specific topic. The spotlight articles can be found at the [Cardano Developer Portal Blog](https://developers.cardano.org/blog/).


**The minting strategy**

TThe Cardano Foundation’s goal was to remain neutral when it came down to deciding the standard to mint the NFTAs. We are in the same ‘playground’ and learn with the community about what standards work to what end. The NFT Standard we chose was [CIP 721](https://github.com/cardano-foundation/CIPs/blob/8b1f2f0900d81d6233e9805442c2b42aa1779d2d/CIP-NFTMetadataStandard.md). We chose this because it was the most complete minting proposal at the time of the campaign launch. But we don’t necessarily endorse it as the standard. We encourage new proposals to be submitted using the Cardano Improvement Proposal framework, and we will continue to learn and build with you, the community.

The [CIP 721](https://github.com/cardano-foundation/CIPs/blob/8b1f2f0900d81d6233e9805442c2b42aa1779d2d/CIP-NFTMetadataStandard.md) Metadata Standard authors are [Alessandro Konrad](https://twitter.com/berry_ales), the creator of [Spacebudz](https://spacebudz.io), and [Smaug](https://twitter.com/SmaugPool), the creator of [Pool.pm](https://pool.pm/). They propose to create a framework to attach metadata to a token. Metadata is important because it describes and gives information about the token. Since tokens on Cardano are native, the link from the token to the metadata needed to be established differently from Ethereum, which creates the link using smart contracts. For Cardano to make the link unique, CIP 721 suggests that the metadata should be attached to the transaction where the token was created.

To read more about CIP 721 and the NFT Metadata Standard, click [here](https://github.com/cardano-foundation/CIPs/blob/8b1f2f0900d81d6233e9805442c2b42aa1779d2d/CIP-NFTMetadataStandard.md). To view all Cardano Improvement Proposals (CIPs), click [here](https://github.com/cardano-foundation/CIPs).

**How we minted the NFTAs**

Tokens that are built on Cardano are native. Unlike Ethereum’s ERC-20 tokens, Cardano doesn’t require a smart contract. Instead, the tokens are treated like Cardano’s native token, ADA. Using native tokens, you can create a variety of digital assets like Non-Fungible-Tokens representing art or appreciation. Learn more about this [here](https://developers.cardano.org/docs/native-tokens/).

To make sure the NFTAs came from the Cardano Foundation, a **policyId** identifies them. You can check out more information about the NFTAs and the **policyId** at the [Cardano Foundation NFTA Official Page](https://cardanofoundation.org/nfta). In addition, they are attached with [metadata](https://pool.pm/2783ee3048c5158646674def386e8610ce2c8824e515451baa4769a6.CFNFTA01) that describes the details of the transaction and ownership address.

To mint the NFT’s, we first used a Cardano Foundation wallet to create a transaction to mint the tokens containing the metadata. Second, the ten developers sent us a receiving wallet address to receive the token. Third, another transaction to send the token to their wallet. Finally, to verify the work, each NFTA has a QR code that will navigate to the [Cardano Blockchain Explorer](https://explorer.cardano.org/en/address.html?address=addr1v8jad20nlga6ca7vjtqs2pr8cu0tcq3rq8s6svm546rvyjggl5yh7) for anyone to view and verify the transactions, including the Bronze Developer Portal Token issuance. Thus, no matter how much time goes by, the blockchain will have an immutable record to show that the community members received the first Non-Fungible Token of Appreciation.

![title image](/img/devblog/how-to-mint.png)

At the time of writing this article, two NFTs have not been minted. We are waiting on two developers to provide their wallet addresses. Also, the Cardano Explorer is not showing the transactions correctly when you try to scan the QR code on the NFTAs. IOG is working on fixing this issue. We will keep you updated on when resolved. If you are interested in learning more or mint native assets or NFTs, visit the [Cardano Developer Portal](https://developers.cardano.org/docs/native-tokens/).
2 changes: 1 addition & 1 deletion docs/get-started/cardanosharp-wallet.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ image: ./img/og-developer-portal.png
---

# CardanoSharp.Wallet
[![Build status](https://ci.appveyor.com/api/projects/status/knh87k86mf7gbxyo?svg=true)](https://ci.appveyor.com/project/nothingalike/cardanosharp-wallet) [![Test status](https://img.shields.io/appveyor/tests/nothingalike/cardanosharp-wallet)](https://ci.appveyor.com/project/nothingalike/cardanosharp-wallet) [![NuGet Version](https://img.shields.io/nuget/v/CardanoSharp.Wallet.svg?style=flat)](https://www.nuget.org/packages/CardanoSharp.Wallet/) ![NuGet Downloads](https://img.shields.io/nuget/dt/CardanoSharp.Wallet.svg)
[![Build status](https://ci.appveyor.com/api/projects/status/knh87k86mf7gbxyo?svg=true)](https://ci.appveyor.com/project/nothingalike/cardanosharp-wallet/branch/main) [![Test status](https://img.shields.io/appveyor/tests/nothingalike/cardanosharp-wallet)](https://ci.appveyor.com/project/nothingalike/cardanosharp-wallet/branch/main) [![NuGet Version](https://img.shields.io/nuget/v/CardanoSharp.Wallet.svg?style=flat)](https://www.nuget.org/packages/CardanoSharp.Wallet/) ![NuGet Downloads](https://img.shields.io/nuget/dt/CardanoSharp.Wallet.svg)

CardanoSharp Wallet is a .NET library for Creating/Managing Wallets and Building/Signing Transactions.

Expand Down
5 changes: 4 additions & 1 deletion docs/get-started/testnets-and-devnets.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ Because the Cardano testnet is an independent network, separate from the Cardano
## Where to get test ada?
Test ada is worth nothing. With it you can safely perform all tests free of charge - the reason why you want to develop on the testnet.

To get free test ada, you need to visit the [Cardano testnet faucet](https://testnets.cardano.org/en/testnets/cardano/tools/faucet/).
To get free test ada, you need to visit the [Cardano testnet faucet](../integrate-cardano/testnet-faucet).

## Where to get a testnet wallet?
- [Daedalus testnet](https://testnets.cardano.org/en/testnets/cardano/get-started/wallet/) is the testnet version of Daedalus wallet.

## What kind of monitoring tools are available for the testnet?
- [Grafana dashboard](https://monitoring.cardano-testnet.iohkdev.io/grafana/d/Oe0reiHef/cardano-application-metrics-v2?orgId=1&refresh=1m&from=now-7d&to=now) provides many health metrics.
Expand Down
12 changes: 6 additions & 6 deletions docs/integrate-cardano/creating-wallet-faucet.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,9 @@ You should see something like this:

Now you might find it odd that there is not much information in the result that was returned the command, but that is totally normal as there are no available **UTXO** in the specific **wallet address** that we have queried just yet as it is a new wallet.

Our next step is to request some `tADA` from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet).
Our next step is to request some `tADA` from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet).

Once you requested some `tADA` from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet) we can then run the query again and you should see something like this:
Once you requested some `tADA` from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet) we can then run the query again and you should see something like this:

```
TxHash TxIx Amount
Expand Down Expand Up @@ -278,7 +278,7 @@ cardano-cli query utxo \

Again, this is to be expected as the `payment2.addr` wallet address and keys has just recently been generated. So we expect that no one has sent any `tADA` to this wallet yet.

In this example, we now have two wallets. We can call them `payment1` and `payment2`. Now remember that we requested some `tADA` from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet) for `payment1` wallet, and thats how we have the following:
In this example, we now have two wallets. We can call them `payment1` and `payment2`. Now remember that we requested some `tADA` from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet) for `payment1` wallet, and thats how we have the following:

`payment1` **wallet**: `1,000,000,000 lovelace`

Expand Down Expand Up @@ -756,9 +756,9 @@ It is important to note that the parameter of this request is the **wallet id**

We are basically querying the first wallet address that has not been used just yet, Indicated by `state: "unused"`. As we can see the wallet address value is: `addr_test1qpnjt8umuwr5f2y59avklhu8hd7h2uf4zfanxxr4nmqqsaw679hxgdmrtsjequ8ka27rm8366e6p7au9y89h6slmrjwskfmcef`

Now we can finally request some `tADA` for the wallet address from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet).
Now we can finally request some `tADA` for the wallet address from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet).

Once you requested some `tADA` from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet), we can then check if it has arrived into our wallet like so:
Once you requested some `tADA` from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet), we can then check if it has arrived into our wallet like so:

```bash
curl --request GET \
Expand All @@ -784,7 +784,7 @@ You should see something like this:
}
```

As we can see here we have a total of `1,000,000,000 lovelace` available to spend that we received from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet).
As we can see here we have a total of `1,000,000,000 lovelace` available to spend that we received from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet).

#### Creating simple transactions

Expand Down
2 changes: 1 addition & 1 deletion docs/integrate-cardano/listening-for-payments-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -784,7 +784,7 @@ You should see the **wallet address** value:
addr_test1vpfkp665a6wn7nxvjql5vdn5g5a94tc22njf4lf98afk6tgnz5ge4
```

Now simply send atleast `1,000,000 lovelace` to this **wallet address** or request some `test ADA` funds from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet). Once complete, we can now run the code again and we should see a succesful result this time.
Now simply send atleast `1,000,000 lovelace` to this **wallet address** or request some `test ADA` funds from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet). Once complete, we can now run the code again and we should see a succesful result this time.

<Tabs
defaultValue="js"
Expand Down
4 changes: 2 additions & 2 deletions docs/integrate-cardano/listening-for-payments-wallet.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ var resp = await http.PostAsJsonAsync("wallets", new {

#### Get unused wallet address to receive some payments

We will get a **wallet address** to show to the customers and for them to send payments to the wallet. In this case we can use the address to request some `tADA` from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet) and simulate a payment:
We will get a **wallet address** to show to the customers and for them to send payments to the wallet. In this case we can use the address to request some `tADA` from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet) and simulate a payment:

<Tabs
defaultValue="js"
Expand Down Expand Up @@ -586,7 +586,7 @@ The code is telling us that our current wallet has received a total of `0 lovela

What we can do to simulate a succesful payment is to send atleast `1,000,000 lovelace` into the **wallet address** that we have just generated for this project. We show how you can get the **wallet address** via code in the examples above.

Now simply send atleast `1,000,000 lovelace` to this **wallet address** or request some `test ADA` funds from the [Cardano Testnet Faucet](https://developers.cardano.org/en/testnets/cardano/tools/faucet). Once complete, we can now run the code again and we should see a succesful result this time.
Now simply send atleast `1,000,000 lovelace` to this **wallet address** or request some `test ADA` funds from the [Cardano Testnet Faucet](../integrate-cardano/testnet-faucet). Once complete, we can now run the code again and we should see a succesful result this time.

<Tabs
defaultValue="js"
Expand Down
26 changes: 26 additions & 0 deletions docs/integrate-cardano/testnet-faucet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
id: testnet-faucet
title: Testnet Faucet
sidebar_label: Testnet Faucet
description: Request some test ada (tAda) from the Cardano testnet faucet.
image: ./img/og-developer-portal.png
---

The testnet faucet is a service that provides test ada (tAda) to users of the Cardano testnet. These tokens have no value, but they enable users to experiment with Cardano testnet features without spending real ada on the mainnet. You can use test ada to [mint native tokens](../native-tokens/minting), to [play around with Cardano wallets](creating-wallet-faucet) or to [learn how to operate a stake pool](../operate-a-stake-pool/).

## How to get test ada
1. Default funds are in `tAda`. If you'd like to test the native token functionality, select `Testcoin` from the dropdown menu.
1. Enter the address of the account where you want to top up funds.
1. If you have been issued with an API key, please enter this to access any additional funds you may have been allocated.
1. Confirm the `I'm not a robot` box and solve the captcha if needed.
1. Click on `Request` and the funds will be in the testnet account you specified within a few minutes. Use the [Cardano testnet explorer](https://explorer.cardano-testnet.iohkdev.io/) in case you want to check any transactions on the Cardano testnet.

<div id="faucetcontainer">
<iframe name="iframe" height="300" width="100%" scrolling="no" src="https://testnets.cardano.org/en/testnets/cardano/tools/faucet/" class="faucet"></iframe>
</div>



:::note Return the test ada
Please return your test ada once you are done with testing so that other members of the community can use them. Send your test tokens to this address: `addr_test1qqr585tvlc7ylnqvz8pyqwauzrdu0mxag3m7q56grgmgu7sxu2hyfhlkwuxupa9d5085eunq2qywy7hvmvej456flknswgndm3`
:::
Loading