ಘಟಕಗಳು
1. Blockchain ಮತ್ತು Web3 ನಲ್ಲಿ ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯ ಪರಿಚಯ: ಪಾತ್ರಗಳು, ಗಡಿಗಳು, ದೃಢೀಕರಣ ಮತ್ತು ಭದ್ರತೆ-ವಿಮರ್ಶಾತ್ಮಕತೆ 2. ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಬರವಣಿಗೆ ಬೆಂಬಲ: ಸಾಲಿಡಿಟಿ/ವೈಪರ್ ಡ್ರಾಫ್ಟ್ ಮತ್ತು ಸೆಕ್ಯೂರ್ ಕೋಡ್ ಜನರೇಷನ್ 3. ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಆಡಿಟ್ ಬೆಂಬಲ: ಭದ್ರತಾ ವಿಮರ್ಶೆ ಮತ್ತು ಕರಡು ಸಂಶೋಧನೆಗಳು 4. ದುರ್ಬಲತೆ ಸ್ಕ್ಯಾನಿಂಗ್: ಸಾಮಾನ್ಯ ದುರ್ಬಲತೆ ಮಾದರಿಗಳು ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ವಿಶ್ಲೇಷಣೆ 5. ಆನ್-ಚೈನ್ ಡೇಟಾ ವಿಶ್ಲೇಷಣೆ: ಬ್ಲಾಕ್, ವಹಿವಾಟು ಮತ್ತು ವಾಲೆಟ್ ಡೇಟಾದ ಅರ್ಥ 6. DeFi ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್ ವಿಶ್ಲೇಷಣೆ: ಲಿಕ್ವಿಡಿಟಿ, MEV ಮತ್ತು ಆರ್ಥಿಕ ದಾಳಿಗಳು 7. ಟೋಕೆನೊಮಿಕ್ ಮಾಡೆಲಿಂಗ್: ಪೂರೈಕೆ, ವಿತರಣೆ, ಪ್ರೋತ್ಸಾಹ ಮತ್ತು ಸಿಮ್ಯುಲೇಶನ್ 8. ದಾಖಲೆ ಮತ್ತು ತಾಂತ್ರಿಕ ಬರವಣಿಗೆ: ವೈಟ್‌ಪೇಪರ್, ನ್ಯಾಟ್‌ಸ್ಪೆಕ್ ಮತ್ತು ಬಳಕೆದಾರ ಮಾರ್ಗದರ್ಶಿ 9. ವಂಚನೆ, ರಗ್-ಪುಲ್ ಮತ್ತು ಅಪಾಯ ಪತ್ತೆ: ಆನ್-ಚೈನ್ ಕೆಂಪು ಧ್ವಜಗಳು 10. ಸುರಕ್ಷತೆ-ನಿರ್ಣಾಯಕ ಆಡಿಟ್, ತಜ್ಞರ ಅನುಮೋದನೆ ಮತ್ತು ಜವಾಬ್ದಾರಿಯುತ ಬಳಕೆ 11. ಎಂಡ್-ಟು-ಎಂಡ್ ವರ್ಕ್‌ಫ್ಲೋ, ಆಡಳಿತ, ಪರಿಶೀಲನೆ ಮತ್ತು ನೀತಿಶಾಸ್ತ್ರ
ಘಟಕ 2 / 11

ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಬರವಣಿಗೆ ಬೆಂಬಲ: ಸಾಲಿಡಿಟಿ/ವೈಪರ್ ಡ್ರಾಫ್ಟ್ ಮತ್ತು ಸೆಕ್ಯೂರ್ ಕೋಡ್ ಜನರೇಷನ್

ಲಾಭಗಳು:

  • ಸಾಬೀತಾದ ಗ್ರಂಥಾಲಯಗಳ ಆಧಾರದ ಮೇಲೆ ಚೌಕಟ್ಟುಗಳು, ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ವಿಮರ್ಶೆ ಕರಡುಗಳನ್ನು ತಯಾರಿಸಲು ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯ (ಉದಾ. ಓಪನ್‌ಜೆಪ್ಪೆಲಿನ್) ಮತ್ತು ಮಾನವರು ಉತ್ಪಾದನಾ ಸುರಕ್ಷತೆಯನ್ನು ಖಾತರಿಪಡಿಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
  • ಸಂಕಲನ, ಪರೀಕ್ಷೆ ಮತ್ತು ಟೆಸ್ಟ್‌ನೆಟ್ ಮೂಲಕ ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯಿಂದ ಉತ್ಪತ್ತಿಯಾಗುವ ಕೋಡ್ ಆವೃತ್ತಿ, ಮಾದರಿ ಮತ್ತು ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯ
  • ಆ ಸಂಕಲನವನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಸಾಧ್ಯವಾಗುವುದು ಸುರಕ್ಷಿತ ಎಂದು ಅರ್ಥವಲ್ಲ ಮತ್ತು ಟೆಸ್ಟ್ನೆಟ್ ಮತ್ತು ಆಡಿಟಿಂಗ್ ಅತ್ಯಗತ್ಯ.

ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದವನ್ನು ಬರೆಯುವುದು ಸಾಮಾನ್ಯ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಿಂತ ಭಿನ್ನವಾಗಿದೆ: ನೀವು ಬರೆಯುವ ಕೋಡ್ ಸಾರ್ವಜನಿಕವಾಗಿದೆ, ಬದಲಾಗದ ಮತ್ತು ನೇರವಾಗಿ ಹಣವನ್ನು ಚಲಿಸುವ ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ. ಈ ಘಟಕದಲ್ಲಿ, ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದದ ಅಭಿವೃದ್ಧಿ ಸಹಾಯಕರಾಗಿ AI ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂದು ನೀವು ಕಲಿಯುವಿರಿ; ಡ್ರಾಫ್ಟ್ ಉತ್ಪಾದನೆಯಿಂದ ಪರೀಕ್ಷೆ ಬರೆಯುವವರೆಗೆ, ಪ್ಯಾಟರ್ನ್ ರೀಕಾಲ್‌ನಿಂದ ಗ್ಯಾಸ್ (ವಹಿವಾಟು ಶುಲ್ಕ) ಆಪ್ಟಿಮೈಸೇಶನ್‌ವರೆಗೆ ನಾವು ಕಲಿಯುತ್ತೇವೆ. ಆದರೆ ಪ್ರಾರಂಭದಿಂದಲೇ ಸ್ಪಷ್ಟವಾಗಿರೋಣ: AI ಬ್ಲೂಪ್ರಿಂಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ; ಉತ್ಪಾದನೆಗೆ ಹೋಗುವ ಸುರಕ್ಷಿತ ಕೋಡ್ ಅನ್ನು ಮಾನವರು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತಾರೆ.

ಮೊದಲು ನೆಲ: ಭಾಷೆ ಮತ್ತು ಪರಿಸರ

ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾದ ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದದ ಭಾಷೆ ಸಾಲಿಡಿಟಿ (Ethereum ಮತ್ತು EVM ನ ಭಾಷೆ - Ethereum ವರ್ಚುವಲ್ ಮೆಷಿನ್, ಒಪ್ಪಂದಗಳು ನಡೆಯುವ ವರ್ಚುವಲ್ ಯಂತ್ರ - ಹೊಂದಾಣಿಕೆಯ ಸರಪಳಿಗಳು). ಪರ್ಯಾಯವೆಂದರೆ ವೈಪರ್ (ಪೈಥಾನ್ ತರಹದ ಭಾಷೆ ಇದು ಹೆಚ್ಚು ನಿರ್ಬಂಧಿತ ಮತ್ತು ಓದಬಲ್ಲ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ). ನಿಮ್ಮ ಕೋಡ್ ಅನಿಲವನ್ನು ಬಳಸುತ್ತದೆ (ಬ್ಲಾಕ್‌ಚೈನ್‌ಗೆ ಪ್ರತಿ ವಹಿವಾಟಿನ ವೆಚ್ಚ); ಅಸಮರ್ಥ ಕೋಡ್ ದುಬಾರಿಯಾಗಿದೆ. ನೀವು AI ಗೆ ನೀಡುವ ಸಂದರ್ಭದಲ್ಲಿ ಈ ನಿಯಮಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಇಟ್ಟುಕೊಳ್ಳುವುದು ನಿಖರವಾದ ಔಟ್‌ಪುಟ್ ಪಡೆಯಲು ಪ್ರಮುಖವಾಗಿದೆ.

AI ಅತ್ಯಂತ ಮೌಲ್ಯಯುತವಾದದ್ದು "ಸ್ಕ್ರಾಚ್‌ನಿಂದ ಬರವಣಿಗೆಯಲ್ಲಿ" ಅಲ್ಲ ಆದರೆ ಚೌಕಟ್ಟನ್ನು + ಉತ್ತಮ ಅಚ್ಚು ಉತ್ಪಾದಿಸುವಲ್ಲಿ: ಮಾನದಂಡಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ಪ್ರಾರಂಭ, ನಿಮ್ಮ ಪರಿಣತಿಯನ್ನು ಸೇರಿಸುವ ನೀಲನಕ್ಷೆ.

ಕೋಡಿಂಗ್‌ನಲ್ಲಿ AI ಅನ್ನು ಬಳಸುವ ಪದರಗಳು

1. ಅಸ್ಥಿಪಂಜರಗಳನ್ನು ಉತ್ಪಾದಿಸುವುದು. AI ತ್ವರಿತವಾಗಿ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಟೋಕನ್ (ERC-20) ಅಥವಾ NFT (ERC-721 - ಒಂದು ಅನನ್ಯ ಡಿಜಿಟಲ್ ಆಸ್ತಿ ಮಾನದಂಡ) ಅಸ್ಥಿಪಂಜರವನ್ನು ಗಣಿಗಾರಿಕೆ ಮಾಡುತ್ತದೆ. ಆದರೆ AI ಸಾಬೀತಾದ ಗ್ರಂಥಾಲಯವನ್ನು ಬಳಸಲು ಮರೆಯದಿರಿ: ಉದಾಹರಣೆಗೆ, OpenZeppelin (ಸಮುದಾಯದ ವಿಶ್ವಾಸಾರ್ಹ, ಲೆಕ್ಕಪರಿಶೋಧನೆಯ ಪ್ರಮಾಣಿತ ಗುತ್ತಿಗೆ ಗ್ರಂಥಾಲಯ). ಮೊದಲಿನಿಂದ ಭದ್ರತೆಯನ್ನು ಬರೆಯುವ ಬದಲು ಪರೀಕ್ಷಿಸಿದ ಬ್ಲಾಕ್ ಅನ್ನು ಬಳಸುವುದು ನಿಯಮವಾಗಿದೆ.

2. ಕಾರ್ಯ ವಿವರಣೆ ಮತ್ತು ವಿಮರ್ಶೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕಾರ್ಯವನ್ನು AI ಗೆ ವಿವರಿಸುವುದರಿಂದ ತರ್ಕ ದೋಷಗಳನ್ನು ಮೊದಲೇ ಗುರುತಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

3. ಟೆಸ್ಟ್ ಪೀಳಿಗೆ. ಎಡ್ಜ್ ಕೇಸ್‌ಗಳಿಗೆ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳನ್ನು ರಚಿಸುವಲ್ಲಿ AI ಉತ್ತಮವಾಗಿದೆ: ಶೂನ್ಯ ಇನ್‌ಪುಟ್, ಅತಿ ದೊಡ್ಡ ಸಂಖ್ಯೆ, ಅನಧಿಕೃತ ಕರೆ ಮಾಡುವವರು, ಪುನರಾವರ್ತಿತ ಕರೆ. ಇದು ಒಬ್ಬರು ಬಿಟ್ಟುಬಿಡುವ ಸನ್ನಿವೇಶಗಳನ್ನು ನೆನಪಿಸುತ್ತದೆ.

4. ಅನಿಲ ಮತ್ತು ಓದುವಿಕೆ. ಅನಗತ್ಯ ಶೇಖರಣಾ ಬರಹಗಳಂತಹ ದುಬಾರಿ ಮಾದರಿಗಳನ್ನು AI ಫ್ಲ್ಯಾಗ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪರ್ಯಾಯಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಸುಳಿವು: "ಓಪನ್‌ಜೆಪ್ಪೆಲಿನ್‌ನ ಆಡಿಟ್ ಮಾಡಲಾದ ಒಪ್ಪಂದಗಳನ್ನು ನಿರ್ಮಿಸಿ, ಮೊದಲಿನಿಂದ ಭದ್ರತೆಯನ್ನು ಪುನಃ ಬರೆಯಿರಿ" ಎಂದು AI ಗೆ ಸೂಚಿಸಿ. ಪರೀಕ್ಷಿತ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸುವುದಕ್ಕಿಂತ ಮೂಲ ಭದ್ರತಾ ಕೋಡ್ ಅನ್ನು ಬರೆಯಲು AI ಗೆ ಹೆಚ್ಚು ಅಪಾಯಕಾರಿಯಾಗಿದೆ.

ದುರ್ಬಲ ಪ್ರಾಂಪ್ಟ್ / ಬಲವಾದ ಪ್ರಾಂಪ್ಟ್

ದುರ್ಬಲ ಪ್ರಾಂಪ್ಟ್:

ನನಗೆ ಟೋಕನ್ ಒಪ್ಪಂದವನ್ನು ಬರೆಯಿರಿ.

ಈ ಪ್ರಾಂಪ್ಟ್ ಅಪಾಯಕಾರಿ: ಯಾವ ಮಾನದಂಡ, ಯಾವ ಸರಣಿ, ಯಾವ ಲೈಬ್ರರಿ, ಯಾವ ಭದ್ರತೆಯ ಅವಶ್ಯಕತೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ. AI ಯಾದೃಚ್ಛಿಕ, ಪ್ರಾಯಶಃ ಹಳತಾದ ಅಥವಾ ಅಸುರಕ್ಷಿತ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.

ಶಕ್ತಿಯುತ ಪ್ರಾಂಪ್ಟ್:

ನಿಮ್ಮ ಪಾತ್ರ: ಹಿರಿಯ ಸಾಲಿಡಿಟಿ ಡೆವಲಪರ್. EVM ಹೊಂದಾಣಿಕೆಯ ಸರಣಿಗಾಗಿ ERC-20 ಟೋಕನ್ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ರಚಿಸಿ. ನಿಯಮಗಳು:- OpenZeppelin ನ ಲೆಕ್ಕಪರಿಶೋಧಕ ERC20 ಮತ್ತು ಮಾಲೀಕತ್ವದ ಒಪ್ಪಂದಗಳ ಆಧಾರದ ಮೇಲೆ.- ಸಾಲಿಡಿಟಿ ಆವೃತ್ತಿ ಮತ್ತು ಪರವಾನಗಿ (SPDX) ಸಾಲನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಬರೆಯಿರಿ.- ಮಾಲೀಕರು ಮಾತ್ರ ಮಿಂಟ್ ಮಾಡಲು ಅನುಮತಿಯನ್ನು ಹೊಂದಿರುತ್ತಾರೆ; ಅನಂತ ಒತ್ತುವ ವಿರುದ್ಧ ಕ್ಯಾಪ್ ಸೇರಿಸಿ. - ಪ್ರತಿ ಕಾರ್ಯಕ್ಕೆ NatSpec ಕಾಮೆಂಟ್ ಸೇರಿಸಿ. - ಮೊದಲಿನಿಂದ ಭದ್ರತೆಯನ್ನು ಬರೆಯಿರಿ; ಪ್ರಮಾಣಿತ ಬ್ಲಾಕ್ ಅನ್ನು ಬಳಸಿ. - ಕೊನೆಯಲ್ಲಿ ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಿ: "ಇದು ಕರಡು; ಆಡಿಟಿಂಗ್ ಮತ್ತು ಪರೀಕ್ಷೆಯ ಅಗತ್ಯವಿದೆ". ನೀವು ಖಚಿತವಾಗಿರದ ಪ್ರದೇಶಗಳನ್ನು // TODO ನೊಂದಿಗೆ ಗುರುತಿಸಿ.

ವ್ಯತ್ಯಾಸ: ಬಲವಾದ ಪ್ರಾಂಪ್ಟ್ ಸ್ಪಷ್ಟ ಪಾತ್ರ, ಪ್ರಮಾಣಿತ, ಗ್ರಂಥಾಲಯ, ಭದ್ರತಾ ಗಡಿ, ದಾಖಲಾತಿ ಮತ್ತು ಮೌಲ್ಯೀಕರಣ ನಿರೀಕ್ಷೆಗಳನ್ನು ನೀಡುತ್ತದೆ.

ನಾಲ್ಕು ನಕಲಿಸಬಹುದಾದ ಟೆಂಪ್ಲೇಟ್‌ಗಳು

1) ಮಾನದಂಡಗಳನ್ನು ಆಧರಿಸಿದ ಅಸ್ಥಿಪಂಜರ:

ನಿಮ್ಮ ಪಾತ್ರ: ಸಾಲಿಡಿಟಿ ಡೆವಲಪರ್. OpenZeppelin ಆಡಿಟೆಡ್ ಲೈಬ್ರರಿಯನ್ನು ಆಧರಿಸಿ [ERC-20 / ERC-721 / ಸ್ಟಾಕಿಂಗ್] ಒಪ್ಪಂದದ ಚೌಕಟ್ಟನ್ನು ರಚಿಸಿ. SPDX ಪರವಾನಗಿ ಮತ್ತು ಪ್ರಾಗ್ಮಾ ಆವೃತ್ತಿಯನ್ನು ಬರೆಯಿರಿ. ಪ್ರತಿ ಬಾಹ್ಯ ಕಾರ್ಯಕ್ಕೆ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು (ಯಾರು ಕರೆ ಮಾಡಬಹುದು) ಸೇರಿಸಿ. ಭದ್ರತೆಯನ್ನು ಮರುಶೋಧಿಸುವುದು; ಪ್ರಮಾಣಿತ ಬ್ಲಾಕ್ಗಳನ್ನು ಬಳಸಿ. ಇದು ಕರಡು.

2) ಕಾರ್ಯ ವಿಮರ್ಶೆ:

ಹಿರಿಯ ಡೆವಲಪರ್‌ನಂತೆ ಈ ಕೆಳಗಿನ ಕಾರ್ಯವನ್ನು ಪರೀಕ್ಷಿಸಿ: ಅದು ಏನು ಮಾಡುತ್ತದೆ, ಅದು ಯಾವ ಸ್ಥಿತಿಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ, ಅದನ್ನು ಯಾರು ಕರೆಯಬಹುದು? ಸಂಭವನೀಯ ತರ್ಕ ದೋಷಗಳು ಮತ್ತು ಭದ್ರತಾ ಅಪಾಯಗಳನ್ನು ಹೈಪೋಥೆಸಿಸ್ ಎಂದು ಗುರುತಿಸಿ, ಪ್ರತಿಯೊಂದನ್ನು ಕೋಡ್‌ನಲ್ಲಿರುವ ಸಾಲಿಗೆ ಲಿಂಕ್ ಮಾಡಿ. "ಸುರಕ್ಷಿತ" ಎಂದು ನೇರವಾಗಿ ಹೇಳಬೇಡಿ; ಕೇವಲ ಗಮನದ ಅಂಶಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ.

3) ಪರೀಕ್ಷಾ ಸನ್ನಿವೇಶದ ಕರಡು:

ಈ ಒಪ್ಪಂದಕ್ಕೆ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಿ (ಫೌಂಡ್ರಿ/ಹರ್ಧತ್‌ಗಾಗಿ ಡ್ರಾಫ್ಟ್ ಆಗಿರಬಹುದು). ನಿರ್ದಿಷ್ಟವಾಗಿ ಕವರ್ ಮಿತಿ ಪ್ರಕರಣಗಳು: ಶೂನ್ಯ ಇನ್ಪುಟ್, ಅತಿ ದೊಡ್ಡ ಸಂಖ್ಯೆ, ಅನಧಿಕೃತ ಕರೆ, ಮರುಪ್ರವೇಶಿಸುವ ಕರೆ, ಸಾಕಷ್ಟು ಹಣ. ಪ್ರತಿ ಪರೀಕ್ಷೆಯು ಏನು ದೃಢೀಕರಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಬರೆಯಿರಿ.

4) ಅನಿಲ ಮತ್ತು ಓದಬಲ್ಲ ವಿಮರ್ಶೆ:

ಈ ಒಪ್ಪಂದದಲ್ಲಿ, ಅನಿಲ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದಾದ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸಿ: ಅನಗತ್ಯ ಶೇಖರಣಾ ಬರವಣಿಗೆ, ಲೂಪ್ನಲ್ಲಿ ಬಾಹ್ಯ ಕರೆ, ಪುನರಾವರ್ತಿತ ಲೆಕ್ಕಾಚಾರ. ಪ್ರತಿ ಸಲಹೆಯಲ್ಲಿನ ಮೊದಲು/ನಂತರದ ವ್ಯತ್ಯಾಸವನ್ನು ವಿವರಿಸಿ. ಭದ್ರತೆ-ಮುರಿಯುವ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಿ; ಅದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲದಿದ್ದರೆ, "ಆಡಿಟರ್ ಅನ್ನು ಕೇಳಿ" ಎಂದು ಹೇಳಿ.

ಮೂರು ಸಣ್ಣ ಪ್ರಕರಣಗಳು (ಸಂಖ್ಯೆಗಳಲ್ಲಿ)

ಪ್ರಕರಣ 1 - ಅಸ್ಥಿಪಂಜರವನ್ನು 4 ಗಂಟೆಗಳ ಕಾಲ ಉಳಿಸಲಾಗಿದೆ. ಒಂದು ತಂಡವು 30 ನಿಮಿಷಗಳಲ್ಲಿ AI ನೊಂದಿಗೆ ಆಡಿಟ್ ಮಾಡಿದ ಗ್ರಂಥಾಲಯ-ಆಧಾರಿತ ವೆಸ್ಟಿಂಗ್ ಒಪ್ಪಂದದ ಅಸ್ಥಿಪಂಜರವನ್ನು ಗಣಿಗಾರಿಕೆ ಮಾಡಿದೆ; ಇದು ಹಸ್ತಚಾಲಿತವಾಗಿ ~ 4 ಗಂಟೆಗಳನ್ನು ತೆಗೆದುಕೊಂಡಿತು. ತಂಡವು ಭದ್ರತೆ ಮತ್ತು ಪರೀಕ್ಷೆಗೆ ಸಮಯವನ್ನು ಮೀಸಲಿಟ್ಟಿತು. ಲಾಭವು ಭದ್ರತೆಯನ್ನು ವರ್ಗಾಯಿಸುವುದರಿಂದ ಅಲ್ಲ, ಆದರೆ ಬೇಸರದ ಚೌಕಟ್ಟನ್ನು ವೇಗಗೊಳಿಸುವುದರಿಂದ.

ಪ್ರಕರಣ 2 - ಹಳೆಯ ಆವೃತ್ತಿಯ ಬಲೆ. ವರ್ಗಾವಣೆಯ ಮೂಲಕ ಕಚ್ಚಾ ಈಥರ್ ಅನ್ನು ಕಳುಹಿಸುವ ಮಾದರಿಯನ್ನು AI ತಯಾರಿಸಿದೆ, ತರಬೇತಿ ಡೇಟಾ ಹಳೆಯದಾಗಿರುವ ಕಾರಣ ಅದನ್ನು ಇನ್ನು ಮುಂದೆ ಶಿಫಾರಸು ಮಾಡುವುದಿಲ್ಲ. ಡೆವಲಪರ್ ಇದನ್ನು ಗಮನಿಸಿದರು ಮತ್ತು ಪ್ರಸ್ತುತ ಕರೆ-ಆಧಾರಿತ ಮತ್ತು ಮರುಪ್ರವೇಶ-ರಕ್ಷಿತ ಮಾದರಿಗೆ ಬದಲಾಯಿಸಿದರು. ಪಾಠ: AI ನ ಲೈಬ್ರರಿ/ಮಾದರಿಯು ಯಾವಾಗಲೂ ನವೀಕೃತವಾಗಿರುವುದನ್ನು ದೃಢೀಕರಿಸಲಾಗುತ್ತದೆ; ತರಬೇತಿ ಕಟ್ಆಫ್ ದಿನಾಂಕದ ನಂತರ AI ಗೆ ತಿಳಿದಿಲ್ಲ.

ಕೇಸ್ 3 - ಟೆಸ್ಟ್ ಡ್ರಾಫ್ಟ್ ಪಾಪ್ಡ್ ಹಿಡನ್ ಬಗ್. AI ಉತ್ಪಾದಿಸಿದ "ಅನಧಿಕೃತ ಕಾಲರ್" ಪರೀಕ್ಷೆಯು ಡೆವಲಪರ್ ಒಂದು ಕಾರ್ಯದಲ್ಲಿ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಮರೆತಿರುವುದನ್ನು ಬಹಿರಂಗಪಡಿಸಿತು. ಮಾಲೀಕರು ಮಾತ್ರ 1 ಸಾಲು ಕಾಣೆಯಾಗಿದೆ, ಟೆಸ್ಟ್‌ನೆಟ್‌ನಲ್ಲಿ 5 ನಿಮಿಷಗಳಲ್ಲಿ ಸಿಕ್ಕಿಬಿದ್ದಿದ್ದಾರೆ; ಮೇನ್‌ನೆಟ್‌ನಲ್ಲಿ ಹಣದ ನಷ್ಟ ಉಂಟಾಗಬಹುದು. ಪಾಠ: AI ಪರೀಕ್ಷೆಯಲ್ಲಿ ಮಾನವ ಕುರುಡು ಚುಕ್ಕೆಗಳನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ.

AI ಜೊತೆಗೆ ಭದ್ರತಾ ಮಾದರಿಗಳನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳುವುದು

ಪರಿಶೀಲನಾಪಟ್ಟಿಯಂತಹ ತಿಳಿದಿರುವ ದುರ್ಬಲತೆಯ ಮಾದರಿಗಳನ್ನು ನಿಮಗೆ ನೆನಪಿಸುವಲ್ಲಿ AI ಉತ್ತಮವಾಗಿದೆ. ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಮಾದರಿಗಳು:

  • ಮರುಪ್ರವೇಶ: ಸ್ಥಿತಿಯನ್ನು ನವೀಕರಿಸದೆ ಬಾಹ್ಯ ಕರೆ ಮಾಡುವುದು. ಪರಿಹಾರ: ತಪಾಸಣೆ-ಪರಿಣಾಮಗಳು-ಸಂವಾದಗಳ ಆದೇಶ, ಮರುಪ್ರವೇಶ ಸಿಬ್ಬಂದಿ.
  • ಪ್ರವೇಶ ನಿಯಂತ್ರಣದ ಕೊರತೆ: ಯಾರಾದರೂ ನಿರ್ಣಾಯಕ ಕಾರ್ಯವನ್ನು ಕರೆಯಬಹುದು.
  • ಪೂರ್ಣಾಂಕದ ಓವರ್‌ಫ್ಲೋ/ಅಂಡರ್‌ಫಾಲ್: ಆಧುನಿಕ ಸಾಲಿಡಿಟಿಯು ಅವುಗಳಲ್ಲಿ ಹೆಚ್ಚಿನದನ್ನು ಹಿಡಿಯುತ್ತದೆ, ಆದರೆ ಕಡಿಮೆ ಮಟ್ಟದ ಕೋಡ್‌ನಲ್ಲಿ ಇನ್ನೂ ಅಪಾಯವಿದೆ.
  • ಅಸಮರ್ಪಕ ಇನ್‌ಪುಟ್ ಮೌಲ್ಯೀಕರಣ: ಶೂನ್ಯ ವಿಳಾಸ, ಶೂನ್ಯ ಪ್ರಮಾಣ ನಿಯಂತ್ರಣ.
  • ಒರಾಕಲ್ ಅವಲಂಬನೆ: ಬಾಹ್ಯ ಡೇಟಾದಲ್ಲಿ ಕುರುಡು ನಂಬಿಕೆ (ಉದಾಹರಣೆಗೆ ಬೆಲೆ).
ಗಮನ: AI ಈ ಪಟ್ಟಿಯನ್ನು ಹಿಂಪಡೆಯಬಹುದು, ಆದರೆ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಐಟಂ ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಕೋಡ್‌ನಲ್ಲಿದೆಯೇ ಎಂದು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ. ಪರಿಶೀಲನಾಪಟ್ಟಿ ಪ್ರಾರಂಭವಾಗಿದೆ; ಇದು ಕಂಟೇನರ್ ನಿಯಂತ್ರಣಕ್ಕೆ ಬದಲಿಯಾಗಿಲ್ಲ.

ಸಂದರ್ಭವನ್ನು ಸರಿಯಾಗಿ ಪಡೆಯುವುದು: AI ನಿಂದ ಉತ್ತಮ ಕೋಡ್‌ನ ರಹಸ್ಯ

AI ಉತ್ಪಾದಿಸುವ ಕೋಡ್‌ನ ಗುಣಮಟ್ಟವು ನೀವು ನೀಡುವ ಸಂದರ್ಭದ ಗುಣಮಟ್ಟವನ್ನು ನೇರವಾಗಿ ಅವಲಂಬಿಸಿರುತ್ತದೆ. Web3 ನಲ್ಲಿ ಇದು ವಿಶೇಷವಾಗಿ ನಿರ್ಣಾಯಕವಾಗಿದೆ ಏಕೆಂದರೆ ಒಂದು ಸಣ್ಣ ವಿವರ (ಯಾವ ಸರಣಿ, ಯಾವ ಸಾಲಿಡಿಟಿ ಆವೃತ್ತಿ, ಯಾವ ಟೋಕನ್ ಪ್ರಮಾಣಿತ) ಸಂಪೂರ್ಣ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಉತ್ತಮ ಸಂದರ್ಭವು ಒಳಗೊಂಡಿರುತ್ತದೆ:

  • ಟಾರ್ಗೆಟ್ ಚೈನ್ ಮತ್ತು ಪರಿಸರ: Ethereum ಮೈನ್ನೆಟ್ ಅಥವಾ ಲೇಯರ್ 2 (ಮೈನ್‌ಚೈನ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಚಲಿಸುವ ಅಗ್ಗದ ಸೈಡ್‌ಚೈನ್)? ಗ್ಯಾಸ್ ವೆಚ್ಚ ಮತ್ತು ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳು ಸರಣಿಯಿಂದ ಬದಲಾಗುತ್ತವೆ.
  • ಆವೃತ್ತಿ ಮತ್ತು ಲೈಬ್ರರಿ: ಯಾವ ಸಾಲಿಡಿಟಿ ಆವೃತ್ತಿ, ಯಾವ ಓಪನ್‌ಜೆಪ್ಪೆಲಿನ್ ಆವೃತ್ತಿ? ಯಾವುದೇ ಆವೃತ್ತಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, AI ಹಳೆಯದಾದ, ಅಸಮ್ಮತಿಸಿದ ಮಾದರಿಗಳನ್ನು ಉತ್ಪಾದಿಸಬಹುದು.
  • ಭದ್ರತಾ ಅವಶ್ಯಕತೆಗಳು: ಕ್ಯಾಪ್ ಇದೆಯೇ, ಅದನ್ನು ವಿರಾಮಗೊಳಿಸಬಹುದೇ, ಅದನ್ನು ಹೆಚ್ಚಿಸಬಹುದೇ? ಇವುಗಳನ್ನು ಮೊದಲಿನಿಂದಲೂ ಹೇಳಬೇಕು.
  • ನಿರ್ಬಂಧಗಳು: "ಜೋಡಣೆಯನ್ನು ಬಳಸಬೇಡಿ", "ಬಾಹ್ಯ ಕರೆಯನ್ನು ತಪ್ಪಿಸಿ", "ಅನಿಲವನ್ನು ಉತ್ತಮಗೊಳಿಸಿ ಆದರೆ ಓದುವಿಕೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಿ" ನಂತಹ ಮಿತಿಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ.

ಯೋಜನೆಗಾಗಿ ಮೊದಲು AI ಅನ್ನು ಕೇಳುವುದು ಮತ್ತೊಂದು ಶಕ್ತಿಯುತ ತಂತ್ರವಾಗಿದೆ, ನಂತರ ಕೋಡ್: "ಮೊದಲು ಈ ಒಪ್ಪಂದದ ಕಾರ್ಯಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ ಮತ್ತು ಪ್ರತಿಯೊಂದೂ ಏನು ಮಾಡುತ್ತದೆ; ನಾನು ಅದನ್ನು ಅನುಮೋದಿಸಿದ ನಂತರ ಕೋಡ್ ಅನ್ನು ಬರೆಯಿರಿ." ಇದು AI ಯನ್ನು ಮೊದಲೇ ತಪ್ಪು ದಿಕ್ಕಿನಲ್ಲಿ ಹಿಡಿಯುತ್ತದೆ ಮತ್ತು ವಾಸ್ತುಶಿಲ್ಪದ ನಿರ್ಧಾರವನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಸುಳಿವು: AI ಅನ್ನು ಕೇಳಿ "ನೀವು ಈ ಕೋಡ್ ಅನ್ನು ಏಕೆ ಹೀಗೆ ಬರೆದಿದ್ದೀರಿ?" ಕೇಳು. ತಾರ್ಕಿಕತೆಯನ್ನು ವಿವರಿಸುವುದು ನಿಮ್ಮ ಕಲಿಕೆಯನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ತಾರ್ಕಿಕ ದೋಷಗಳನ್ನು ಮೇಲ್ಮೈಗೆ ತರುತ್ತದೆ (ಉದಾ. ತಪ್ಪು ಭದ್ರತಾ ಊಹೆ). ತನ್ನದೇ ಆದ ಕೋಡ್ ಅನ್ನು ರಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಗದ AI ನ ಔಟ್‌ಪುಟ್ ಅನ್ನು ನಂಬಬೇಡಿ.

ಸಾಮಾನ್ಯ ತಪ್ಪುಗಳು

  • ಮೊದಲಿನಿಂದಲೂ AI ನಲ್ಲಿ ಭದ್ರತೆಯನ್ನು ಹಾಕುವುದು. ಪರೀಕ್ಷಿತ ಗ್ರಂಥಾಲಯವನ್ನು ಬಳಸಿ.
  • AI ನಿರ್ಮಿಸಿದ ಆವೃತ್ತಿ/ಮಾದರಿಯನ್ನು ದೃಢೀಕರಿಸುತ್ತಿಲ್ಲ. ತರಬೇತಿ ಡೇಟಾ ಹಳೆಯದಾಗಿರಬಹುದು.
  • ಟೆಸ್ಟ್‌ನೆಟ್ ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡುವುದು. ಪ್ರತಿ ಡ್ರಾಫ್ಟ್ ಲೈವ್ ಆಗುವ ಮೊದಲು ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ರನ್ ಆಗಬೇಕು.
  • NatSpec/ದಾಖಲೆಗಳನ್ನು ಸೇರಿಸುತ್ತಿಲ್ಲ. ತಪಾಸಣೆ ಮತ್ತು ನಿರ್ವಹಣೆ ಕಷ್ಟವಾಗುತ್ತದೆ.
  • "ಇದು ಸಂಕಲಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಇದು ಸುರಕ್ಷಿತವಾಗಿದೆ" ತಪ್ಪು ಕಲ್ಪನೆ. ಕಂಪೈಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ ಎಂದರೆ ಸುರಕ್ಷಿತವಾಗಿರುವುದು ಎಂದಲ್ಲ.
  • ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಮರೆತುಬಿಡುವುದು. ಇದು ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಮತ್ತು ದುಬಾರಿ ತಪ್ಪುಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

ಸಾರಾಂಶದಲ್ಲಿ

  • ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದ ಬರವಣಿಗೆಯಲ್ಲಿ, AI ಚೌಕಟ್ಟುಗಳು, ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ವಿಮರ್ಶೆ ಕರಡುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ; ಮಾನವ ಉತ್ಪಾದನಾ ಸುರಕ್ಷತೆಯನ್ನು ಖಾತರಿಪಡಿಸುತ್ತಾನೆ.
  • ಮೊದಲಿನಿಂದಲ್ಲ ಆದರೆ ಸಾಬೀತಾದ ಗ್ರಂಥಾಲಯಗಳ ಆಧಾರದ ಮೇಲೆ ಭದ್ರತೆಯನ್ನು ನಿರ್ಮಿಸಿ (ಉದಾ. ಓಪನ್ಜೆಪ್ಪೆಲಿನ್).
  • YZ ನಿಂದ ತಯಾರಿಸಲಾದ ಆವೃತ್ತಿಗಳು ಮತ್ತು ಮಾದರಿಗಳ ನವೀಕೃತತೆಯನ್ನು ಯಾವಾಗಲೂ ದೃಢೀಕರಿಸಲಾಗುತ್ತದೆ.
  • ಮಾನವ ಕುರುಡು ತಾಣಗಳನ್ನು ಸೆರೆಹಿಡಿಯುವಲ್ಲಿ ಪರೀಕ್ಷಾ ಸ್ಟಬ್‌ಗಳು ಮೌಲ್ಯಯುತವಾಗಿವೆ (ಮಿತಿ ಪ್ರಕರಣಗಳು, ಪ್ರವೇಶ ನಿಯಂತ್ರಣ).
  • ಸಂಕಲನವಾಗುವುದು ಎಂದರೆ ಸುರಕ್ಷಿತವಾಗಿರುವುದು ಎಂದಲ್ಲ; testnet ಮತ್ತು ಆಡಿಟಿಂಗ್ ಅತ್ಯಗತ್ಯ.

ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯ

ಸರಳವಾದ ERC-20 ಟೋಕನ್‌ಗಾಗಿ, ಮೇಲಿನ "ಸ್ಟ್ಯಾಂಡರ್ಡ್ಸ್-ಆಧಾರಿತ ಅಸ್ಥಿಪಂಜರ" ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಡ್ರಾಫ್ಟ್ ಅನ್ನು ರಚಿಸಿ. ನಂತರ: (1) ಇದು ಪರಿಶೀಲಿಸಿದ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, (2) ಪ್ರವೇಶ ನಿಯಂತ್ರಣಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, (3) "ಟೆಸ್ಟ್ ಕೇಸ್ ಡ್ರಾಫ್ಟ್" ಪ್ರಾಂಪ್ಟ್‌ನೊಂದಿಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸಿ ಮತ್ತು ಕನಿಷ್ಠ ಒಂದು ರಾಕ್ಷಸ-ಕರೆ ಮಾಡುವವರ ಪರೀಕ್ಷೆಯನ್ನು ಚಲಾಯಿಸಿ. AI ತಪ್ಪಿಸಿಕೊಂಡ ಕನಿಷ್ಠ ಒಂದು ಭದ್ರತಾ ಬಿಂದುವನ್ನು ಹುಡುಕಿ ಮತ್ತು ಗಮನಿಸಿ.

ಪರಿಶೀಲನಾಪಟ್ಟಿ

  • [ ] ನಾನು ಪ್ರಾಂಪ್ಟ್‌ನಲ್ಲಿ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮತ್ತು ಚೈನ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೇಳಿದ್ದೇನೆ.
  • [ ] ನಾನು ಸಾಬೀತಾದ ಗ್ರಂಥಾಲಯ ಆಧಾರಿತ ಉತ್ಪಾದನೆಯನ್ನು ಬಯಸುತ್ತೇನೆ.
  • [ ] SPDX ಪರವಾನಗಿ ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ಆವೃತ್ತಿ ಲಭ್ಯವಿದೆ.
  • [ ] ಪ್ರತಿ ನಿರ್ಣಾಯಕ ಕಾರ್ಯದಲ್ಲಿ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವಿದೆ.
  • [ ] ನಾನು ಮಿತಿ ಪ್ರಕರಣಗಳಿಗಾಗಿ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸಿದ್ದೇನೆ ಮತ್ತು ನಡೆಸಿದ್ದೇನೆ.
  • [ ] ಲೈಬ್ರರಿ/ಪ್ಯಾಟರ್ನ್ ನವೀಕೃತವಾಗಿದೆ ಎಂದು ನಾನು ದೃಢಪಡಿಸಿದೆ.
  • [ ] ನಾನು ಆಡಿಟಿಂಗ್ ಮತ್ತು ಪರೀಕ್ಷೆಗಾಗಿ ಕೋಡ್ ಅನ್ನು ಗುರುತಿಸಿದ್ದೇನೆ; ಮೇನ್‌ನೆಟ್‌ನಲ್ಲಿ ನಾನು ಅದನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಿಲ್ಲ.