Skip to content

Commit

Permalink
Merge pull request #161 from ChainSafe/Marketing-UTM-tags
Browse files Browse the repository at this point in the history
Updated all links with utm tags
  • Loading branch information
sneakzttv authored Jan 7, 2025
2 parents 06d9814 + e41ca1b commit 2b7525d
Show file tree
Hide file tree
Showing 22 changed files with 70 additions and 58 deletions.
1 change: 1 addition & 0 deletions dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ IProjectConfig
javascript
JSON
JsonRpcProvider
js
KPIs
KYB
Kwame
Expand Down
26 changes: 13 additions & 13 deletions docs/1_chainsafe-gaming.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,25 @@ sidebar_label: ChainSafe Gaming

# Introducing ChainSafe Gaming

[ChainSafe Gaming](https://gaming.chainsafe.io/?utm_source=github&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) is a complete toolkit of web3 gaming products and services for studios, developers, and players that includes our web3.unity SDK, an NFT minter, marketplaces and lootboxes.
[ChainSafe Gaming](https://gaming.chainsafe.io/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) is a complete toolkit of web3 gaming products and services for studios, developers, and players that includes our web3.unity SDK, an NFT minter, marketplaces and lootboxes.

The ChainSafe Gaming docs is your portal to learn more about our products and services.

![](v2.6/assets/chainsafe-gaming/intro-image-chainsafe.png)

# Web3.unity, An SDK To Bring Games To The Blockchain

Your journey in blockchain-enabled gaming begins with our SDK. We recommend you follow the package manager installation in the [getting started](https://docs.gaming.chainsafe.io/current/getting-started) section. If you'd like to see the source code repository you can do so [here](https://github.com/ChainSafe/web3.unity/releases).
Your journey in blockchain-enabled gaming begins with our SDK. We recommend you follow the package manager installation in the [getting started](https://docs.gaming.chainsafe.io/current/getting-started) section. If you'd like to see the source code repository you can do so [here](https://github.com/ChainSafe/web3.unity/releases?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).

Web3.unity is a modular open-source gaming SDK written in C# and developed by [ChainSafe Gaming](https://gaming.chainsafe.io/?utm_source=github&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs). It connects games built in the Unity game engine to the blockchain. The library currently supports games built for web browsers (WebGL), iOS/Android mobile, and desktop. Web3.unity is compatible with most EVM-based chains such as Ethereum, Polygon, Avalanche, Base, Skale, Cronos, Godwoken, and Binance Smart Chain, letting developers easily choose and switch between them to create the best in-game experience.
Web3.unity is a modular open-source gaming SDK written in C# and developed by [ChainSafe Gaming](https://gaming.chainsafe.io/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs). It connects games built in the Unity game engine to the blockchain. The library currently supports games built for web browsers (WebGL), iOS/Android mobile, and desktop. Web3.unity is compatible with most EVM-based chains such as Ethereum, Polygon, Avalanche, Base, Skale, Cronos, Godwoken, and Binance Smart Chain, letting developers easily choose and switch between them to create the best in-game experience.

## Features of Web3.unity

Out-of-the-box, Web3.unity comes with Unity sample scripts, scenes, prefabs & tooling that will make building web3 games easier. These features include:

* In-game and [no-code](https://dashboard.gaming.chainsafe.io/nfts) NFT minting
* In-game and [no-code](https://dashboard.gaming.chainsafe.io/nfts?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) NFT minting
* Voucher-based NFT minting implementation
* In-game and web [marketplaces](https://gaming.chainsafe.io/marketplace) for NFTS
* In-game and web [marketplaces](https://gaming.chainsafe.io/marketplace?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) for NFTS
* Web3 wallet builds for desktop, mobile (iOS or Android), and browser games (WebGL)
* Social logins
* Sign & verify digital signatures
Expand All @@ -49,11 +49,11 @@ public class ExampleClass : MonoBehaviour
}
```

[Click here](https://docs.gaming.chainsafe.io/current/getting-started) to open documentation for the latest version of web3.unity.
[Click here](https://docs.gaming.chainsafe.io/current/getting-started?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) to open documentation for the latest version of web3.unity.

## Supported Chains 

Web3.Unity should work with any EVM based network on the blockchain. Below you'll find a list of tested and approved networks, however you can find a wider range of supported networks on [Chainlist](https://chainlist.org/):
Web3.Unity should work with any EVM based network on the blockchain. Below you'll find a list of tested and approved networks, however you can find a wider range of supported networks on [Chainlist](https://chainlist.org/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs):

| Network Name | Type of Chain | Chain ID |
| ------------ | ------------- | ----------- |
Expand All @@ -75,19 +75,19 @@ Web3.Unity should work with any EVM based network on the blockchain. Below you'l

## Additional Resources

If you are new to web3.unity and blockchain-enabled gaming, we recommend that you read over these docs carefully. If you are new to building with the Unity game engine, the [Unity3D manual](https://docs.unity3d.com/Manual/index.html) is a great place to start as well as [learn Unity](https://learn.unity.com/).
If you are new to web3.unity and blockchain-enabled gaming, we recommend that you read over these docs carefully. If you are new to building with the Unity game engine, the [Unity3D manual](https://docs.unity3d.com/Manual/index.html?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) is a great place to start as well as [learn Unity](https://learn.unity.com/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).

* Our [Discord](https://discord.gg/zxHUgGGTGk) is an active community of game devs sharing tips and tricks with each other
* Our [Twitter](https://twitter.com/chainsafegaming) periodically provides news and updates, and shares our community's work
* Our [YouTube](https://youtube.com/chainsafe-systems) provides a set of video tutorials and how-to guides on using web3.unity:
* [Web3.Unity SDK 3.0 Tutorials](https://www.youtube.com/playlist?list=PLPn3rQCo3XrOOklu69R-G2DJypaXFmR_z)
* Our [Discord](https://discord.gg/zxHUgGGTGk?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) is an active community of game devs sharing tips and tricks with each other
* Our [Twitter](https://twitter.com/chainsafegaming?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) periodically provides news and updates, and shares our community's work
* Our [YouTube](https://youtube.com/chainsafe-systems?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) provides a set of video tutorials and how-to guides on using web3.unity:
* [Web3.Unity SDK 3.0 Tutorials](https://www.youtube.com/playlist?list=PLPn3rQCo3XrOOklu69R-G2DJypaXFmR_z&utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs)

## Contribute

All contributions are welcomed! The web3.unity docs is intended to be a living document and requires the contributions of many to be maintained.

Please use GitHub Issues to propose any large changes and to facilitate discussion and questions regarding content and structure.

It is recommended you review the [Docusaurus docs](https://docusaurus.io/docs) to ensure you utilize its features correctly.
It is recommended you review the [Docusaurus docs](https://docusaurus.io/docs?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) to ensure you utilize its features correctly.

After making a PR, you can validate your proposed changes by clicking on the `View deployment` link in the `Checks` section.
2 changes: 1 addition & 1 deletion docs/nft_launchpad/1_introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ Game Developers can create, manage and visualize NFTs through the dashboard with

### Ready To Get Started?

Head over to the [NFT Launchpad Dashboard](https://dashboard.gaming.chainsafe.io/nfts/entry) to manage your collections and mint NFTs for your projects.
Head over to the [NFT Launchpad Dashboard](https://dashboard.gaming.chainsafe.io/nfts/entry?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) to manage your collections and mint NFTs for your projects.

Follow the guide to know more about how to interact with the NFT Launchpad and mint NFTs for your projects.
8 changes: 4 additions & 4 deletions docs/nft_launchpad/2_details.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ of the section, you will have a clear understanding of the NFT Launchpad hierarc

### Project

A project can be considered as a game. When you create a new game, you create a project for that game on chainsafe [Gaming Dashboard](https://dashboard.gaming.chainsafe.io/dashboard).
A project can be considered as a game. When you create a new game, you create a project for that game on chainsafe [Gaming Dashboard](https://dashboard.gaming.chainsafe.io/dashboard?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).
A project is the first level of hierarchy in the chainsafe gaming ecosystem. Anything you will create in the gaming ecosystem will be under a project.
You can create multiple collections and mint NFTs under a project.

Expand All @@ -29,7 +29,7 @@ You can mint NFTs for a collection and link them to your game. An NFT is a third
A collection can have multiple NFTs under the collection. An NFT can be a character, weapon, skin, or any other asset you want to link to your game.
Gamers can trade, sell, or buy NFTs in the game.

Currently, we are supporting ERC721 and ERC1155 token standards. NFT metadata is uploaded to [ChainSafe Storage](https://storage.chainsafe.io/) powered by IPFS.
Currently, we are supporting ERC721 and ERC1155 token standards. NFT metadata is uploaded to [ChainSafe Storage](https://storage.chainsafe.io/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) powered by IPFS.
You can add custom attributes to your NFTs, which can be utilized in your game. For example, you can add attributes like `power`, `speed` and `health` to a character NFT.
You can also add custom images to your NFTs.

Expand All @@ -42,7 +42,7 @@ Usually, digital assets are identified just by their Token ID. Metadata adds ext

You can add custom attributes to your NFTs, which can be utilized in the game. For example, you can add attributes like `power`, `speed` and `health` to a character NFT as metadata fields.

We store the metadata of the NFTs on [ChainSafe Storage](https://storage.chainsafe.io/) which is powered by IPFS. We store the IPFS CID
We store the metadata of the NFTs on [ChainSafe Storage](https://storage.chainsafe.io/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) which is powered by IPFS. We store the IPFS CID
of the metadata on-chain. The metadata is stored in a JSON format and can be accessed using the IPFS CID via any public IPFS gateway.

### Supported Chains 
Expand All @@ -55,4 +55,4 @@ You can currently create collections and mint NFTs for the following chains:
| Polygon Mumbai | Testnet | 80001 |
| BSC | Testnet | 97 |
| Avalanche | Testnet | 43113 |

| B3 Sepolia | Testnet | 1993 |
6 changes: 3 additions & 3 deletions docs/nft_launchpad/3_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This tutorial will guide you through the process of creating a collection, minti

Before you begin, ensure you have the following:

- A project created for your game. If you don't have one, you can create one [here](https://dashboard.gaming.chainsafe.io/dashboard).
- A project created for your game. If you don't have one, you can create one [here](https://dashboard.gaming.chainsafe.io/dashboard?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).

- Connect your wallet to the ChainSafe Gaming Dashboard. You can connect your wallet by clicking on the `Connect Wallet` button on the top right corner of the dashboard.

Expand All @@ -22,15 +22,15 @@ Before you begin, ensure you have the following:
You can skip this step if you already have a project created for your game.
:::

- Go to the [ChainSafe Gaming Dashboard](https://dashboard.gaming.chainsafe.io/dashboard) and click on the `+` button on the top right.
- Go to the [ChainSafe Gaming Dashboard](https://dashboard.gaming.chainsafe.io/dashboard?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) and click on the `+` button on the top right.

- Fill in the details for your project and click on `Create Project` button.

![](./assets/create_project.gif)

## 2. Create a Collection

- Head over to `NFT Launchpad` tab in the [ChainSafe Gaming Dashboard](https://dashboard.gaming.chainsafe.io/nfts/entry).
- Head over to `NFT Launchpad` tab in the [ChainSafe Gaming Dashboard](https://dashboard.gaming.chainsafe.io/nfts/entry?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).


- Select the project you want to create a collection for.
Expand Down
2 changes: 1 addition & 1 deletion docs/nft_marketplace/1_introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ in one marketplace at a time. Our marketplace tool kit supports Ethereum, Polygo

### Ready To Get Started?

Head over to the [NFT Marketplace Dashboard](https://dashboard.gaming.chainsafe.io/marketplaces/entry) to manage your marketplace and list NFTs for your projects.
Head over to the [NFT Marketplace Dashboard](https://dashboard.gaming.chainsafe.io/marketplaces/entry?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) to manage your marketplace and list NFTs for your projects.
8 changes: 5 additions & 3 deletions docs/nft_marketplace/2_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ This guide will help you to create an on-chain marketplace for your game and lis

Before you begin, ensure you have the following:

- A project created for your game. If you don't have one, you can create one [here](https://dashboard.gaming.chainsafe.io/dashboard).
- A project created for your game. If you don't have one, you can create one [here](https://dashboard.gaming.chainsafe.io/dashboard?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).

- You should have already created some nfts for your game inside of the project. If you haven't, you can create some [here](https://dashboard.gaming.chainsafe.io/nfts/entry).
- You should have already created some nfts for your game inside of the project. If you haven't, you can create some [here](https://dashboard.gaming.chainsafe.io/nfts/entry?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs).

- Connect your wallet to the ChainSafe Gaming Dashboard. You can connect your wallet by clicking on the `Connect Wallet` button on the top right corner of the dashboard.

Expand Down Expand Up @@ -73,7 +73,9 @@ Once you have created a marketplace, its time to list some NFTs for sale in the

## 4. Use marketplace inside of your Unity game
Add the Chainsafe marketplace package as a git package:
`https://github.com/ChainSafe/web3.unity.git?path=/Packages/io.chainsafe.web3-unity.marketplace`
```js
https://github.com/ChainSafe/web3.unity.git?path=/Packages/io.chainsafe.web3-unity.marketplace
```
Add Marketplace Service Adapter to the Web3Unity prefab

![](./assets/marketplace_sample.png)
Expand Down
4 changes: 2 additions & 2 deletions docs/v2.6/10_voucher-minting-nfts.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ This pages explains minting an NFT using ECDSA with solidity as a voucher to aut

:::
## Minting an NFT Via The Marketplace
NFTs can easily be minted via our marketplace [here](https://marketplace.chainsafe.io/) These NFTs follow ERC standards and be used with our all NFT calls without much hassle at all. Simply add your NFT details, an image and away you go!
NFTs can easily be minted via our marketplace [here](https://marketplace.chainsafe.io/?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs) These NFTs follow ERC standards and be used with our all NFT calls without much hassle at all. Simply add your NFT details, an image and away you go!

## Minting an NFT In Game Via ECDSA Verification
We've decided to move away from server voucher minting and replace it with ECDSA verification. This is a lot easier to setup and maintain as it's done solidity side and can be controlled solely by the developer for their users. For examples sake we've included an ERC20 private key to show you how it all works. Please do not use this in production. You can get your own key from your metamask account settings to replace the example one. It is entirely up to you how you would like to secure this key. Please do not send an app into production without locking this down properly. As there are many ways to secure this we've decided to leave this up to you as any methods we offer would undoubtedly be reverse engineered.

## What Is ECDSA?
ECDSA stands for elliptical curve digital signature algorithm. It is the process of reverse engineering a signature to check which wallet it originated from. This way you can place a private key within the game files and make it fire off a signature whenever you need something authorized. This can be anything from allowing a claim to minting NFTs, the possibilities are endless. More information can be found [here](https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages)
ECDSA stands for elliptical curve digital signature algorithm. It is the process of reverse engineering a signature to check which wallet it originated from. This way you can place a private key within the game files and make it fire off a signature whenever you need something authorized. This can be anything from allowing a claim to minting NFTs, the possibilities are endless. More information can be found [here](https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages?utm_source=docs&utm_medium=documentation&utm_campaign=chainsafe_gaming_docs)

## Using ECDSA With A Private Key In Unity
The sign with private key methods may be used here to generate a signature from your authorization wallet. This can then passed into a function and read solidity side as bytes. You may then use the functions below solidity side to reverse engineer the signature via ECDSA to check that it has actually originated from your authorization wallet. In the next step we'll show you how this can be checked solidity side.
Expand Down
2 changes: 1 addition & 1 deletion docs/v2.6/11_gasless-transactions-using-gelato.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This area will explain basic interactions for using Gelato and gasless transacti

:::

We've now integrated Gelato gasless transactions into the SDK to help reduce friction that some users any face when entering the blockchain world. You simply need a Gelato API key which can be obtained [here](https://relay.Gelato.network/) We have an example API key for testing purposes but this shouldn't be used in a production app. Please ensure that you're replacing this with your own key before going to production.
We've now integrated Gelato gasless transactions into the SDK to help reduce friction that some users any face when entering the blockchain world. You simply need a Gelato API key which can be obtained [here](https://relay.gelato.network/?utm_source=Referrals&utm_medium=chainsafe&utm_campaign=referrals) We have an example API key for testing purposes but this shouldn't be used in a production app. Please ensure that you're replacing this with your own key before going to production.

## Logging In With Gelato
In order to make use of our Gelato functions you need to ensure the chain has Gelato capability enabled. You can check this by logging into our sample scene. If the Gelato functions are there then you're good to go, if not you will need to wait for Gelato to update on their end in order to provide functionality for your chain. Our SDKs sample scene provides a variety of Gelato functions for you to test out.
Expand Down
Loading

0 comments on commit 2b7525d

Please sign in to comment.