Cette branche migration-mainnet configure l'application pour fonctionner sur le réseau Mainnet par défaut, avec la possibilité de basculer en Testnet via une variable d'environnement.
L'application est configurée pour utiliser le réseau Mainnet en production.
Pour utiliser le testnet, définir la variable d'environnement :
PLASMO_PUBLIC_NETWORK=testnet pnpm devOu créer un fichier .env :
PLASMO_PUBLIC_NETWORK=testnetCentralise tous les IDs d'atoms utilisés dans l'application :
I_SUBJECT- Atom d'identité "I"FOLLOWS_PREDICATE- Prédicat "follows"IS- Prédicat "is"SCAM- Prédicat "scam"TRUSTWORTHY- Prédicat "trustworthy"HASHTAG_PREDICATE- Prédicat pour les hashtags/tags
Important : Les IDs mainnet sont actuellement des placeholders et doivent être mis à jour avec les vraies valeurs une fois le protocole déployé sur mainnet.
Hook pour obtenir les IDs d'atoms en fonction du réseau configuré.
Déclarations TypeScript pour l'import d'images (jpg, png, svg, etc.)
Template de configuration des variables d'environnement.
- Ajout de la définition du réseau
intuitionMainnet - Fonction
getSelectedNetwork()basée surprocess.env.PLASMO_PUBLIC_NETWORK getChainByNetwork()- Obtenir la configuration de chaînegetGraphQLEndpoints()- Obtenir les endpoints GraphQLgetMultiVaultAddress()- Obtenir l'adresse du contrat MultiVault- Variable
CURRENT_NETWORKdéterminée au démarrage
- Client Apollo configuré statiquement selon
CURRENT_NETWORK - Endpoints GraphQL déterminés au build
src/pages/Feed.tsxsrc/pages/RecentActivity.tsxsrc/components/profile/FollowingTab.tsxsrc/contents/plasmo-inline.tsxsrc/components/SubjectTag.tsxsrc/pages/TagsPage.tsxsrc/pages/AtomDetailPage.tsx
- Chain ID : 13378
- RPC : https://rpc.intuition.systems
- GraphQL : https://mainnet.intuition.sh/v1/graphql
- Explorer : https://explorer.intuition.systems
- MultiVault :
⚠️ À CONFIGURER danssrc/lib/config.ts
- Chain ID : 13579
- RPC : https://testnet.rpc.intuition.systems
- GraphQL : https://testnet.intuition.sh/v1/graphql
- Explorer : https://testnet.explorer.intuition.systems
- MultiVault : 0x2Ece8D4dEdcB9918A398528f3fa4688b1d2CAB91
-
⚠️ URGENT : Vérifier que le contrat MultiVault est déployé sur mainnet- L'adresse actuelle
0x6E35cF57A41fA15eA0EaE9C33e751b01A784Fe7edoit être validée - Vérifier sur https://explorer.intuition.systems
- L'adresse actuelle
-
Mettre à jour les IDs d'atoms mainnet dans
src/lib/atoms.ts- Remplacer les valeurs placeholders par les vrais IDs déployés sur mainnet
-
Activer le mainnet par défaut dans
src/lib/config.ts- Ligne 52 : changer
return "testnet"enreturn "mainnet" - Actuellement en testnet par sécurité
- Ligne 52 : changer
-
Vérifier les endpoints GraphQL mainnet
- S'assurer que
https://mainnet.intuition.sh/v1/graphqlest accessible
- S'assurer que
-
Tester sur mainnet
- Vérifier que toutes les queries/mutations fonctionnent
- Tester les dépôts et créations de triples
pnpm buildPLASMO_PUBLIC_NETWORK=testnet pnpm dev// Obtenir les IDs d'atoms en fonction du réseau
const atomIds = useAtomIds()
// Utiliser dans une query
const { data } = useQuery({
variables: {
predicate_id: atomIds.FOLLOWS_PREDICATE
}
})
// Vérifier le réseau actuel
import { CURRENT_NETWORK } from '~src/lib/config'
console.log('Current network:', CURRENT_NETWORK) // "mainnet" ou "testnet"- L'application est en mainnet par défaut et utilise de vrais tokens TRUST
- Toujours vérifier le réseau avant les transactions financières
- Pour les tests, utiliser
PLASMO_PUBLIC_NETWORK=testnet