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 staging to production #368

Closed
wants to merge 24 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4e25298
feat: added allowance-dapp tutorial documentation (#305)
RutvikGhaskataEalf Oct 29, 2024
ae294b7
feat: removed command-line instruction for faucet and keep only web-f…
RutvikGhaskataEalf Oct 29, 2024
fea5a2d
Added Exception handled in remaining functions of NFT tutorial (#246)
RutvikGhaskataEalf Oct 29, 2024
6055626
feat: Removed mentions of zk-Rollups (#308)
vasmohi Oct 29, 2024
08ab40d
Updated sequence
vasmohi Oct 29, 2024
c6b86fd
Fix: Updated roadmap image (#309)
vasmohi Oct 30, 2024
397ce5d
fix: Updated aelf whitepaper v2.0 pdf (#310)
vasmohi Oct 30, 2024
32df66e
Feature: Updated dAppchain name (#312)
vasmohi Oct 30, 2024
41ced88
fix: aelf mainchain
yongenaelf Oct 30, 2024
4039950
feat: Added aelf-Playground video (#319)
vasmohi Nov 4, 2024
0df03db
fix: Updated with inter-contract calls logic (#321)
vasmohi Nov 4, 2024
7d33be0
feat: Added allowance dApp video (#325)
vasmohi Nov 21, 2024
31992e9
Feature/playground and aelf studio (#324)
RutvikGhaskataEalf Nov 29, 2024
0eb5b7c
Quick start/dice game tutorial (#335)
tanuj-aelf Dec 9, 2024
81b2fe5
feat: added feedback section for each page (#350)
RutvikGhaskataEalf Dec 19, 2024
f7b66e9
feat: added roseyya install instruction for apple silicon machine in …
RutvikGhaskataEalf Dec 23, 2024
47e445d
feat: completed advance nft dapp integration (#355)
RutvikGhaskataEalf Dec 26, 2024
a028c00
fix : merged frontend instruction with indexer implementation (#357)
RutvikGhaskataEalf Dec 26, 2024
2e89c08
feat: added complex types and types in restriction component of smart…
RutvikGhaskataEalf Jan 2, 2025
516c87e
updated YT URLs (#364)
tanuj-aelf Jan 8, 2025
f602860
resolved conflicts for main to develop pull (#366)
RutvikGhaskataEalf Jan 9, 2025
c72024c
feat: improved aeindexer tutorial content and improved code (#365)
RutvikGhaskataEalf Jan 9, 2025
e73c061
Feature/conflict resolve (#367)
RutvikGhaskataEalf Jan 9, 2025
a036c6c
Merge conflicts (#369)
RutvikGhaskataEalf Jan 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
TYPESENSE_COLLECTION_NAME=
TYPESENSE_SERVER_HOST=
TYPESENSE_SEARCH_ONLY_APIKEY=
FEEDBACK_CONTENT_SET_ID=
HOTJAR_ID=abc
91 changes: 91 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# GitHub recommends pinning actions to a commit SHA.
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.

name: Publish Docker image

on:
push:
branches: [main]

jobs:
build:
name: Build and Push Docker image to Docker Hub
runs-on: ubuntu-latest
environment: ${{ github.ref == 'refs/heads/main' && 'production' || 'development' }}
permissions:
contents: read
steps:
- name: Check out the repo
uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 18
cache: 'npm'

- run: npm install
- name: create env file
run: |
touch .env
echo TYPESENSE_COLLECTION_NAME=${{ vars.TYPESENSE_COLLECTION_NAME }} >> .env
echo TYPESENSE_SERVER_HOST=${{ vars.TYPESENSE_SERVER_HOST }} >> .env
echo TYPESENSE_SEARCH_ONLY_APIKEY=${{ vars.TYPESENSE_SEARCH_ONLY_APIKEY }} >> .env
echo HOTJAR_ID=${{ vars.HOTJAR_ID }} >> .env

- run: npm run build

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }}
tags: |
type=sha
# set latest tag for default branch
type=raw,value=latest,enable={{is_default_branch}}

- name: Build and push Docker image
id: push
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

- name: Set short git commit SHA
id: vars
run: |
calculatedSha=$(git rev-parse --short ${{ github.sha }})
echo "short_sha=$calculatedSha" >> "$GITHUB_OUTPUT"

- name: Deploy
uses: actions/github-script@v6
with:
github-token: ${{ secrets.WORKFLOW_DISPATCH }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'poc-aaa',
repo: 'devops',
workflow_id: 'deploy.yaml',
ref: 'main',
inputs: {
env: '${{ github.ref == 'refs/heads/main' && 'production' || 'development' }}',
appName: 'docs',
appProject: 'aelf-docs',
commit_sha: 'sha-${{ steps.vars.outputs.short_sha }}',
}
})
4 changes: 1 addition & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,5 @@ jobs:
- name: create env file
run: |
touch .env
echo TYPESENSE_COLLECTION_NAME="test-collection" >> .env
echo TYPESENSE_SERVER_HOST="test-host" >> .env
echo TYPESENSE_SEARCH_ONLY_APIKEY="test-api-key" >> .env
echo FEEDBACK_CONTENT_SET_ID=${{ vars.FEEDBACK_CONTENT_SET_ID }} >> .env
- run: npm run build
12 changes: 3 additions & 9 deletions .github/workflows/s3.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
name: Deploy to S3

on:
push:
branches: [ "main", "develop" ]
workflow_dispatch:

jobs:

build:
environment: ${{ github.ref == 'refs/heads/main' && 'production' || 'development' }}
permissions:
Expand All @@ -22,17 +19,14 @@ jobs:
- name: create env file
run: |
touch .env
echo TYPESENSE_COLLECTION_NAME=${{ vars.TYPESENSE_COLLECTION_NAME }} >> .env
echo TYPESENSE_SERVER_HOST=${{ vars.TYPESENSE_SERVER_HOST }} >> .env
echo TYPESENSE_SEARCH_ONLY_APIKEY=${{ vars.TYPESENSE_SEARCH_ONLY_APIKEY }} >> .env
echo FEEDBACK_CONTENT_SET_ID=${{ vars.FEEDBACK_CONTENT_SET_ID }} >> .env
echo HOTJAR_ID=${{ vars.HOTJAR_ID }} >> .env
- run: npm run build

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-1

- name: Sync to S3
run: aws s3 sync ./build s3://${{ secrets.AWS_S3_BUCKET }}
run: aws s3 sync ./build s3://${{ secrets.AWS_S3_BUCKET }}
30 changes: 0 additions & 30 deletions docs/_get-testnet-token.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,6 @@ To deploy smart contracts or execute on-chain transactions on aelf, you'll requi

**Get ELF Tokens**

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs>
<TabItem value="cli" label="CLI" default>

Run the following command to get testnet ELF tokens from faucet. Remember to either export your wallet address or replace $WALLET_ADDRESS with your wallet address.

```bash title="Terminal"
curl -X POST "https://faucet.aelf.dev/api/claim?walletAddress=$WALLET_ADDRESS" -H "accept: application/json" -d ""
```
To check your wallet's current ELF balance:
```bash title="Terminal"
aelf-command call ASh2Wt7nSEmYqnGxPPzp4pnVDU4uhj1XW9Se5VeZcX2UDdyjx -a $WALLET_ADDRESS -p $WALLET_PASSWORD -e https://tdvw-test-node.aelf.io GetBalance
```
You will be prompted for the following:

```sh
Enter the required param <symbol>: **ELF**
Enter the required param <owner>: **$WALLET_ADDRESS**
```

You should see the Result displaying your wallet's ELF balance.

</TabItem>
<TabItem value="web" label="Web" default>

Go to this url [https://faucet-ui.aelf.dev](https://faucet-ui.aelf.dev). Enter your address and click `Get Tokens`.

![result](/img/get-token-ui.png)

</TabItem>
</Tabs>
8 changes: 4 additions & 4 deletions docs/about-aelf/elf-token/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ description: What is ELF?

ELF is the native token of the aelf blockchain, serving multiple critical functions within the ecosystem. ELF is used for paying transaction fees on the aelf blockchain.

ELF is used by developers to pay block index fees, as cross-chain transfers and verifications require the MainChain to index the SideChain's block information.
ELF is used by developers to pay block index fees, as cross-chain transfers and verifications require the MainChain to index the aelf dAppChain's block information.

ELF is used by individuals or teams who are interested in becoming block producer nodes. To be one of aelf's block producers, they are required to purchase and deposit ELF tokens to participate in the block producer node election. Upon a successful election, the deposited ELF tokens are locked and will be unlocked and returned once the node steps down, provided no violations have occurred. ELF is used by voters to participate in aelf node elections, with each ELF token equating to one vote.

Expand All @@ -38,9 +38,9 @@ Ethereum: `0xbf2179859fc6d5bee9bf9158632dc51678a4100e`

BSC: `0xa3f020a5c92e15be13caf0ee5c95cf79585eecc9`

MainChain AELF: `ELF_JRmBduh4nXWi1aXgdUsj5gJrzeZb2LxmrAbf7W99faZSvoAaE_AELF`
aelf MainChain: `ELF_JRmBduh4nXWi1aXgdUsj5gJrzeZb2LxmrAbf7W99faZSvoAaE_AELF`

SideChain tDVV: `ELF_7RzVGiuVWkvL4VfVHdZfQF2Tri3sgLe9U991bohHFfSRZXuGX_tDVV`
aelf dAppChain: `ELF_7RzVGiuVWkvL4VfVHdZfQF2Tri3sgLe9U991bohHFfSRZXuGX_tDVV`

:::

Expand Down Expand Up @@ -105,7 +105,7 @@ As of the latest information, here are the exchanges that support the aelf mainn

Exchanges supporting aelf Mainnet include Binance, Bithumb, Upbit, HTX, OKX, Gate.io, MEXC, and these exchanges support deposits and withdrawals of Mainnet ELF tokens.

Please note that the exchanges supporting aelf Mainnet only support token deposits and withdrawals using MainChain AELF. You should never deposit or withdraw using SideChain tDVV as this may result in your tokens being lost forever.
Please note that the exchanges supporting aelf Mainnet only support token deposits and withdrawals using aelf MainChain. You should never deposit or withdraw using aelf dAppChain as this may result in your tokens being lost forever.

We recommend verifying the latest information on the exchange platforms or aelf official channels.

Expand Down
6 changes: 3 additions & 3 deletions docs/about-aelf/introduction/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: What is aelf?

:::faq[What is aelf?]

aelf, an AI-enhanced Layer 1 blockchain network, leverages the robust C# programming language for efficiency and scalability across its sophisticated multi-layered architecture. Founded in 2017 with its global hub in Singapore, aelf is a pioneer in the industry, leading Asia in evolving blockchain with state-of-the-art AI integration and modular Layer 2 ZK Rollup technology, ensuring an efficient, low-cost, and highly secure platform that is both developer and end-user friendly. Aligned with its progressive vision, aelf is committed to fostering innovation within its ecosystem and advancing Web3 and AI technology adoption. For more information about aelf, please refer to our [Whitepaper V2.0](https://docs.aelf.com/resources/whitepaper-2/).
aelf, an AI-enhanced Layer 1 blockchain network, leverages the robust C# programming language for efficiency and scalability across its sophisticated multi-layered architecture. Founded in 2017 with its global hub in Singapore, aelf is a pioneer in the industry, leading Asia in evolving blockchain with state-of-the-art AI integration to ensure an efficient, low-cost, and highly secure platform that is both developer and end-user friendly. Aligned with its progressive vision, aelf is committed to fostering innovation within its ecosystem and advancing Web3 and AI technology adoption. For more information about aelf, please refer to our [Whitepaper V2.0](https://docs.aelf.com/resources/whitepaper-2/).

:::

Expand Down Expand Up @@ -52,7 +52,7 @@ aelf is primarily a multi-chain parallel computing blockchain network which was

:::faq[What makes aelf different from other blockchains? Why is aelf unique?]

aelf's unique strength lies in its underlying architecture, which utilises a multi-layered structure comprising a MainChain and multiple SideChains. This differs from a traditional Single Chain system in that aelf is a "Branched Ecosystem", where the MainChain works as the backbone of the system and connects to multiple SideChains. Compared with the traditional "one Chain to any type of Contract", aelf's "One Chain to one type of Contract" design allows aelf to distribute tasks efficiently and process transactions in parallel, significantly enhancing scalability and reducing congestion. At the same time, the SideChains are easier to manage and can be tailored for specific applications, enabling aelf to support a wide range of use cases without compromising performance.
aelf's unique strength lies in its underlying architecture, which utilises a multi-layered structure comprising a MainChain and multiple dAppChains. This differs from a traditional Single Chain system in that aelf is a "Branched Ecosystem", where the MainChain works as the backbone of the system and connects to multiple dAppChains. Compared with the traditional "one Chain to any type of Contract", aelf's "One Chain to one type of Contract" design allows aelf to distribute tasks efficiently and process transactions in parallel, significantly enhancing scalability and reducing congestion. At the same time, the aelf dAppChains are easier to manage and can be tailored for specific applications, enabling aelf to support a wide range of use cases without compromising performance.

The [C# programming language](https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/) forms the foundation of the entire aelf blockchain, which underpins aelf's ability to handle high transaction volumes and complex operations with ease. C# also offers a powerful foundation for AI integration in blockchain development, primarily due to its alignment with the [.NET ecosystem](https://dotnetfoundation.org/), which provides a wide range of libraries and tools that facilitate the development of sophisticated AI models, including the integration of machine learning algorithms, natural language processing (NLP), and data analytics. The integration of AI into the aelf ecosystem marks a significant advancement in the blockchain’s operational capabilities which not only optimises performance and security, but also plays a crucial role in transitioning mass Web2 users to Web3 by significantly improving the overall user and developer experience.

Expand Down Expand Up @@ -126,7 +126,7 @@ Nevertheless, do continue to stay updated via our [website](https://aelf.com/),

The primary cryptocurrency supported on the aelf blockchain is the ELF token. This token has several functions within the aelf ecosystem, including governance, resource allocation, and staking.

As aelf is a multi-chain network with various sidechains, users can unlock utility with other tokens specific to dApps built on the aelf ecosystem, such as [AwakenSwap](https://awaken.finance/), [Portkey](https://portkey.finance/), and [Project Schrodinger](https://schrodingernft.ai/). Here are some of the supported tokens and stablecoins:
As aelf is a multi-chain network with various dAppChains, users can unlock utility with other tokens specific to dApps built on the aelf ecosystem, such as [AwakenSwap](https://awaken.finance/), [Portkey](https://portkey.finance/), and [Project Schrodinger](https://schrodingernft.ai/). Here are some of the supported tokens and stablecoins:
- ELF
- USDT
- BNB
Expand Down
10 changes: 5 additions & 5 deletions docs/about-aelf/partnerships-and-ecosystem/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,14 +141,14 @@ aelf provides a range of educational resources and developer programmes for thos

:::

### 15. Do aelf ecosystem DApps use tokens on the MainChain or SideChain? When staking and earning rewards on aelf ecosystem DApps, are these staked tokens and reward tokens on the MainChain or SideChain? If I do not have any tokens on the SideChain, do I need to transfer them from the MainChain first?
### 15. Do aelf ecosystem DApps use tokens on the MainChain or dAppChain? When staking and earning rewards on aelf ecosystem DApps, are these staked tokens and reward tokens on the MainChain or dAppChain? If I do not have any tokens on the aelf dAppChain, do I need to transfer them from the MainChain first?

:::faq[Do aelf ecosystem DApps use tokens on the MainChain or SideChain? When staking and earning rewards on aelf ecosystem DApps, are these staked tokens and reward tokens on the MainChain or SideChain? If I do not have any tokens on the SideChain, do I need to transfer them from the MainChain first?]
:::faq[Do aelf ecosystem DApps use tokens on the MainChain or dAppChain? When staking and earning rewards on aelf ecosystem DApps, are these staked tokens and reward tokens on the MainChain or dAppChain? If I do not have any tokens on the dAppChain, do I need to transfer them from the MainChain first?]

Some aelf ecosystem DApps, like Portkey Wallet, ETransfer, and eBridge, can use tokens on either the MainChain or SideChain, while other DApps, like Awaken and Forest, only support the SideChain, depending on the specific application and its design. Generally, more complex operations, such as DApp interactions, are often handled on SideChains to enhance scalability and reduce congestion on the MainChain.
Some aelf ecosystem DApps, like Portkey Wallet, ETransfer, and eBridge, can use tokens on either the MainChain or dAppChain, while other DApps, like Awaken and Forest, only support the aelf dAppChain, depending on the specific application and its design. Generally, more complex operations, such as DApp interactions, are often handled on aelf dAppChains to enhance scalability and reduce congestion on the MainChain.

Typically, when you stake tokens or earn rewards through staking and voting on aelf governance, these activities are carried out on the MainChain. However, if you stake tokens or earn rewards through ecosystem DApps, it depends on the specific rules of those DApps; most of them are carried out on the SideChain.
Typically, when you stake tokens or earn rewards through staking and voting on aelf governance, these activities are carried out on the MainChain. However, if you stake tokens or earn rewards through ecosystem DApps, it depends on the specific rules of those DApps; most of them are carried out on the aelf dAppChain.

If the DApp you are interacting with requires tokens on the SideChain, and you currently only have tokens on the MainChain, you will need to transfer those tokens from the MainChain to the SideChain first. This transfer can usually be done within your Portkey Wallet.
If the DApp you are interacting with requires tokens on the aelf dAppChain, and you currently only have tokens on the MainChain, you will need to transfer those tokens from the MainChain to the aelf dAppChain first. This transfer can usually be done within your Portkey Wallet.

:::
Loading
Loading