Cyfrin Updraft.

Experten Q&A

Fragen Sie die Cyfrin Updraft Community-Experten

Beiträge

189
  • thegreatfeez.
    Jan 04, 2025
    Experten Q&A

    Festigkeitstest für Gießereien

    Was könnte in meinem Code falsch sein? function testFundUpdatesFundedDataStructure() public { fundMe.fund{value: 10e18}(); uint256 amountFunded = fundMe.getAddressToAmountFunded(address(this)); assertEq(amountFunded, 10e18); } erhalte diesen Fehler: [14658] FundMeTest: :testFundUpdatesFundedDataStructure () √─ [2658] FundMe: :fund {Wert: 1000000000000000000} () │ √─ [0] 0x000000000000000000000000000000000000: :latestRoundData () [statischer Aufruf] │ │ ─ ← [Stopp] │ ─ ← [Zurücksetzen] EVM-Fehler: Zurücksetzen •─ ← [Wiederherstellen] EvmError: Zurücksetzen

    • Cyfrin Updraft
    • Foundry
    • Solidity
    1
    3
  • thegreatfeez.
    Dec 19, 2024
    Experten Q&A

    Zksync Foundry installieren

    Die Installation von zksync Foundry scheint nicht mehr im Github-Repo zu sein. Ich habe versucht, die Befehlszeile in mein Terminal einzugeben „Erlaubnis verweigert, konnte nicht aus dem Remote-Repository gelesen werden“

    • Cyfrin Updraft
    • Foundry
    • Solidity
    1
    2
  • thegreatfeez.
    Dec 14, 2024
    Experten Q&A

    SimpleStorage Deployer einrichten

    Warum erhalte ich immer wieder diesen Fehler, wenn ich versuche, meinen Code in VS-Code bereitzustellen, habe AI gefragt und es ist immer noch dasselbe. Hier ist der Fehler: [] Kompilieren... [] Kompilieren von 14 Dateien mit Solc 0.8.18 [] Solc 0.8.18 wurde in 149,20 ms abgeschlossen Fehler: Der Compilerlauf ist fehlgeschlagen: Fehler (2314): ';' wurde erwartet, aber die ID wurde erhalten --> script/deploySimpleStorage.s.sol: 11:9: | 11 | vm.stopBroadcast (); | ^^ Und hier ist mein Code. Solidität „' //SPDX-Lizenz-ID: MIT Pragma-Solidität ^0.8.18; importiere {Script} aus „forge-std/script.sol“; importiere {simpleStorage} aus „.. /src/simpleStorage.sol „; Der Vertrag DeploySimpleStorage ist Script { function run () extern gibt (simpleStorage) zurück { vm.startBroadcast (); simpleStorage simpleStorage = neues simpleStorage (); vm.stopBroadcast (); SimpleStorage zurückgeben; } } „'

    • Cyfrin Updraft
    • Foundry
    • Solidity
    1
    1
  • thegreatfeez.
    Dec 12, 2024
    Experten Q&A

    Setzende Gießerei

    Beim Versuch, meine Foundry nach der Installation mit dem Befehl „forge init“ einzurichten, wurde folgende Fehlermeldung angezeigt: Fehler: Fehler beim Festschreiben (Code=some (128), stdout= "“, stderr="Identität des Autors unbekannt\n\n*Bitte sag mir, wer du bist. \n\nFühren Sie\n\ngit config --global user.email\“ you@example.com\“\ngit config --global user.name\ "Your Name\“\n\naus, um die Standard-Identität Ihres Kontos festzulegen. \nLassen Sie --global aus, um die Identität nur in diesem Repository festzulegen. \n\nfatal: Die E-Mail-Adresse konnte nicht automatisch erkannt werden (habe 'user @MACs -MBP. (keine) ')“) Obwohl ich alle Ordner bekommen konnte, die ich brauchte, außer „lib“ und „.gitmodules“, hoffe ich, dass mich das in Zukunft nicht beeinträchtigt. Und ich versuche auch, „forge init --force“ zu verwenden, immer noch dasselbe

    • Cyfrin Updraft
    • Foundry
    • Solidity
    1
    2
  • Cyfrin Moderator Pst.
    Mar 29, 2024
    Experten Q&A

    What are the recommended protocols for smart contract audit?

    I am looking to conduct a smart contract audit and would like to know the best protocols to follow. Can anyone suggest a wide range of protocols that are commonly used in competitive audits? Any insights or recommendations would be greatly appreciated. Thank you.

    • Foundry
    • Security
    • Blockchain
    0
    1
    Offizielle Antwort
  • Cyfrin Moderator Pst.
    Mar 29, 2024
    Experten Q&A

    Error `make deploy` in VS Code - `bash: make: command not found`

    I am encountering an issue while trying to deploy using make deploy in VS Code with Foundry and Anvil. Despite Anvil launching properly without any errors, when I attempt to deploy using the command make deploy, I consistently receive the error message bash: make: command not found. Has anyone faced a similar problem or can provide guidance on resolving this issue? Any assistance would be greatly valued as I have been unable to progress since yesterday. Thank you.

    • Foundry
    0
    1
    Offizielle Antwort
  • Cyfrin Moderator Pst.
    Mar 29, 2024
    Experten Q&A

    Which function selector and input data should be used in solveChallenge?

    I am working on the solveChallenge function which requires a function selector and input data to be passed. I am unsure about which function I should get the function selector for, and what the input data should be that needs to be turned into bytes. Any guidance on this would be greatly appreciated. Thank you in advance for your help. function solveChallenge(bytes4 selectorOne, bytes memory inputData, string memory yourTwitterHandle) external { (bool successOne, bytes memory responseDataOne) = i_helperContract.call(abi.encodeWithSelector(selectorOne)); if (!successOne || uint256(bytes32((responseDataOne))) != 1) { revert S1__WrongSelector(); } (bool successTwo, bytes memory responseDataTwo) = i_helperContract.call(inputData); if (!successTwo || uint256(bytes32((responseDataTwo))) != 1) { revert S1__WrongData(); } _updateAndRewardSolver(yourTwitterHandle); } I am motivated to understand how to find the solution, not just for obtaining the NFT. Thank you for your assistance.

    • Transaction
    • Solidity
    • Smart Contract
    0
    1
    Offizielle Antwort
  • Cyfrin Moderator Pst.
    Mar 29, 2024
    Experten Q&A

    How to Report Multiple Instances of an Attack Vector in Base Code?

    I have encountered the same attack vector multiple times in a base code. Should I include each instance separately in my report or consolidate them into a single entry? For instance, if I identify a Denial of Service (DOS) attack in three different functions, should I classify these findings as three distinct high-severity issues in my report, or combine them into a single report entry for efficiency and clarity? Any insights on the best approach for reporting such repeated vulnerabilities would be greatly appreciated. Thank you.

    • Security
    0
    1
    Offizielle Antwort
  • Cyfrin Moderator Pst.
    Mar 29, 2024
    Experten Q&A

    Seeking Small LaTeX Package for Linux Installation

    I attempted to install LaTeX on my Linux machine using sudo apt-get install texlive-full, which consumed over 7 GB of storage, causing my 120 GB SSD system to run out of space. As a result, I had to remove it. Could someone provide a link to a smaller LaTeX package (less than 1 GB) that is sufficient for my needs? Any guidance or recommendations would be greatly appreciated. Thank you.

    • Foundry
    • Course
    0
    1
    Offizielle Antwort
  • Cyfrin Moderator Pst.
    Mar 29, 2024
    Experten Q&A

    Does mitigation of DoS in Section 4 Lesson 15 work correctly?

    I am currently working on Section 4 Lesson 15 and addressing the PuppyRaffle::enterRaffle function. I have identified a potential issue with the second recommended mitigation of DoS. function enterRaffle(address[] memory newPlayers) public payable { require(msg.value == entranceFee * newPlayers.length, 'PuppyRaffle: Must send enough to enter raffle'); for (uint256 i = 0; i < newPlayers.length; i++) { players.push(newPlayers[i]); addressToRaffleId[newPlayers[i]] = raffleId; } for (uint256 i = 0; i < newPlayers.length ; i++) { require(addressToRaffleId[newPlayers[i]] != raffleId, 'PuppyRaffle: Duplicate player'); } } The concern is that the duplicate check in the function will always fail due to the way addressToRaffleId[newPlayers[i]] is being set to raffleId for each new player. This results in the condition addressToRaffleId[newPlayers[i]] != raffleId never being true for new players, rendering the duplicate check ineffective. I would like to confirm if my understanding of this issue is correct. Any insights or feedback on this matter would be greatly appreciated.

    • Security
    • Solidity
    • Smart Contract
    0
    1
    Offizielle Antwort
Wir verwenden Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website haben.
Mehr Infos