forked from trankil123/farcaster-miniapp-template
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME 2 all process
More file actions
114 lines (81 loc) · 4.09 KB
/
README 2 all process
File metadata and controls
114 lines (81 loc) · 4.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
bonjour à tous
voici un guide pour créer une mini apps sur Farcaster (merci à Trankil https://github.com/trankil123/ allez le follow/stars)
préambule : Je ne suis pas codeur j'ai bidouillé avec ChatGpt int
objectifs :
- gagner des points sur Talent Protocol en ayant des interactions de différents wallets sur le contract créé
- se positionner comme un dévellopeur sur base en vue d'un potentiel airdrop
Introduction :
Je me suis basé sur un template fournis par Monad pour créer sa minidapps sur Farcaster
j'ai volontairement viré des fonctions inutiles
j'ai modifié le design, mais il reste des traces du mot Monad (on s'en fout un peu mais bon)
Ce que vous aurez besoin :
- un compte github (gratuit) https://github.com/
- un compte vercel (gratuit) https://vercel.com/
- un compte farcaster (evidemment)
- savoir publier un contract avec Remix https://remix.live/
pour me remercier jaimerais bien que
- vous mettiez une étoile sur le repositery et que vous le forkiez
- vous fassiez une transaction à partir de mon app https://farcaster.xyz/miniapps/02jVRRndMXqJ/farcaster-miniapp
Ce que l'appli fait :
- vous répondez oui ou non à une question et vous interragissez avec un contract sur base mainet
- pas d'affichage des résultats du sondage
Voici le lien vers le fichier d'aide en français :
https://github.com/trankil123/farcaster-miniapp-template/blob/main/README%202%20all%20process
et le repository à fork
https://github.com/2explos/farcaster-miniapp-template
have fun
ps : comme je ne suis pas codeur, j'essayerais de répondre à vos questions dans la limite de mes connaissances
etape 1 : cloner ce repository
étape 2 : créer un contract avec remix sur base mainet
avec ce code
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract SimplePayable {
address public owner;
// Événement pour notifier qu'un paiement a été reçu
event Received(address indexed sender, uint256 amount, string message);
// Définir l'owner lors du déploiement
constructor() {
owner = msg.sender;
}
// Fonction payable pour envoyer un message (optionnel)
function pay(string calldata _message) external payable {
require(msg.value > 0, "Send some ETH");
emit Received(msg.sender, msg.value, _message);
}
// Retirer tout l'ETH — seulement l'owner
function withdraw(address payable _to) external {
require(msg.sender == owner, "Only owner can withdraw");
uint256 balance = address(this).balance;
require(balance > 0, "No ETH to withdraw");
_to.transfer(balance);
}
// ← Clé : fallback pour accepter les transferts directs d'ETH
receive() external payable {
emit Received(msg.sender, msg.value, "Direct ETH transfer");
}
}
et le verifier ici https://basescan.org/verifyContract
ensuite dans components/Home/WalletActions.tsx
mettre l'adresse de votre contract ici
// Adresse du contrat déployé
const contractAddress = '0xCdcC45169fCbF6cEcC1931f3415978E3a6553ACd'
etape 3
deployer le git sur vercel (gratuit) https://vercel.com/
récupèrer l'adresse de l'appli : exemple : farcaster-miniapp-template-ebon.vercel.app
la modifier dans .env.local
suivre le tuto https://docs.monad.xyz/templates/farcaster-miniapp/publishing-miniapp dans la partie Generating accountAssociation using the Farcaster Mobile App.
et remplacée dans app/.well-known/farcaster.json/route.ts
accountAssociation: {
"header": "eyJmaWQiOjMyODg1NSwidHlwZSI6ImF1dGgiLCJrZXkiOiIweERCOTczZjliNWI0MDhFMkZFNjNFQ2UzNjBEYjFjODU5YjQ5NDFFRTcifQ",
"payload": "eyJkb21haW4iOiJmYXJjYXN0ZXItbWluaWFwcC10ZW1wbGF0ZS1lYm9uLnZlcmNlbC5hcHAifQ",
"signature": "1bH6yx1yjJgF2olNGcmhAgsbS229TmERlvHsktnOqA88aDMQAPm+WSFEgqfIFtcRFIUsewD5Of72EVNKufxX3Bs="
},
par vos données
eet voilà une appli farcaster validée pour un possible airdrop base dévellopeur
sources utilisées :
https://docs.monad.xyz/templates/farcaster-miniapp/publishing-miniapp
https://github.com/monad-developers/monad-miniapp-template
https://miniapps.farcaster.xyz/docs/guides/wallets
https://vercel.com/
https://github.com/