نوشتن یک قرارداد هوشمند (Proof of Existence Exercise)

دوست عزیز درسته مشکلی نداره اما توجه کنید مثاله و اگه بخواهید این کانترکت رو توسعه بدید نیازه که ماژولار تر برنامه نویسی کنید که باعث میشه خوانایی کدتون بالا تر بره و تکرار در کد هاتون کمتر میشه

5 پسندیده

سلام
من وقتی می خوام دستور truffle migrate اجرا کنم این خطا رو می گیرم
البتع تو remix قرارداد رو بدون خطا دپلوی کردم. نمی دونم مشکلش چیه
مرسی

1 پسندیده

سلامی دوباره
برای دستور truffle migrate -reset هم همچین خطایی می ده
Screenshot 2022-02-03 190943

1 پسندیده

فکر میکنم داخل فایل truffle-config.js یک کاراکتر در تنظیمات اضافه یا کم گذاشتید چک کنید که کانفیگ شما به صورت زیر باشه

        development: {
            host: "127.0.0.1", // Localhost (default: none)
            port: 8545, // Standard Ethereum port (default: none)
            network_id: "*", // Any network (default: none)
        },
3 پسندیده

سلام
بعد از اجرای دستور truffle migrate این ارور رو به من نشون میده در کامند لاین
میشه لطفا راهنمایی کنید چطور میتونم حلش کنم؟
image

1 پسندیده

داخل فایل truffle-config.js قسمت تنظیمات compilers قسمت solc سپس version رو به ورژن مورد نظر خودتون تغییر بدین مثلا

    compilers: {
        solc: {
            version: "0.5.0", 
        }
    },
4 پسندیده

من توی اجرای truffle init با این ارور مواجه میشم لطفا راهنمایی کنید ممنون
و یه سوال اینکه: من که نمیتونم این ارور هارو خودم رفع کنم ناشی از ضعف من توی کدوم قسمته؟
آیا بیسیک باید چیزی بدونم که دانشش رو ندارم؟ اگر آره لطفا راهنمایی کنید چطور دانشم رو ارتقا بدم که بتونم این تیپ ارور هارو تشخیص بدم و رفع و رجوع کنم مرسی
image

1 پسندیده

نه نیازی نیست همه چیز رو بدونید. مثلا من قبلا با این خطا مواجه نشدم اما با جستجو میتونم دلیل احتمالی رو پیدا کنم و شما رو راهنمایی کنم.
کافیه خطایی که نمایش میده رو جستجو کنید. فقط مثلا اگر کل این خطا رو کپی کنید ممکنه نتیجه نگیرید. چون جزییات مربوط به سیستم شما رو هم داره.
اینجا مشکل اصلی مشخصه loader.js هست که بخاطر پیدا نکردن ماژولیه که آدرسش رو نوشته. من اینو اینطوری سرچ کردم:
دستور + خطا روی فایل + ماژولی که پیدا نمیکنه - آدرس لوکال
truffle init
internal/modules/cjs/loader.js:965
throw err
Cannot find module cli.bundle.js

اولین نتیجه این پیج بود:

و اولین جواب امتیاز بالا داشت پس به احتمال زیاد مشکل شما رو حل میکنه:

اگر حل نشد سراغ جواب بعدی برید. یه نگاهی به جوابا بندازید و با توجه به کارایی که انجام دادید ببینید احتمال کدوم بیشتره. همیشه اولین لینک جواب شمارو نداره یا لزوما خطارو حل نمیکنه. یکی دو پیج اول نتیجه جستجو رو چک کنید.
گاهی لازمه سعی و خطا کنید تا بتونید به جواب برید. همیشه دست به سرچ باشید.

2 پسندیده

ممنون ازینکه وقت گذاشتین
همه ی راه حل هایی که توی اون لینک بود رو تست کردم هیچکدوم جواب نداد
من خودم فکر میکنم از پایین بودن کانفیگ لبتابم باشه
بازم ممنون بابت پاسخگوییتون

1 پسندیده

سلام
اول تشکر کنم از @Mohammadd بابت راهنمایی های که می کنید.
چرا ما تو توابع notarize و checkDocument متغییر proof رو تعریف می کنیم؟ ایا دلیلش اینه که این توابع در memory دارن ذخیره می شن ؟

2 پسندیده

خواهش میکنم دوست عزیز :pray::pray:
متغیر proof داخل memory ذخیره میشه
بیشتر جنبه اینو داره خوانایی کد رو بالا ببره وگرنه میتونید مستقیم هم بنویسید ولی کدتون ناخوانا تر میشه

2 پسندیده

با سلام: من موقع اجرای دستور truffle migrate در همان ابتدای کار با خطا مواجه میشوم که هر چقدر تلاش کردم راه حلی پیدا نکردم ممنون میشم راهنمایی کنید.

1 پسندیده

قدم به قدم از اول پیش برو ، وقتی truffle init و ران میکنی توی vscode چند تا فولدر و فایل ایجاد میشه که یکیش فایل truffle-config.js هستش، برو داخل فایل و اینارو networks: {
development: {
host: ‘localhost’,
port: 8545,
network_id: ‘*’
}
}
}; از کامنت در بیار و حواست باشه port و host با مشخصات ganache-cli یکی باشه

1 پسندیده

باید reset-- بزنید. با دوتا دش

2 پسندیده


سلام. ببخشید من یه قراردادی سعی دارم دیپلوی کنم که توش از فایل env استفاده کردم و پراویت کی متامسکمو بهش دادم و از شبکه kovan استفاده کردم. ولی آخرش که میخوام از کنسول استفاده کنم همچین اروری بهم میده.

1 پسندیده

اگر بخوایم یک فایل pdf به تابع notarize ارسال کنیم چیکار باید بکنیم؟ و فرمتهای دیگر؟

1 پسندیده

سلام داداش ممنون از راهنماییت این ارور رو میگیرم

1 پسندیده

وقت شما هم بخیر دوست عزیز
به صورت کلی با هدف clean code و maintenance بهتر این جور جداسازی ها انجام میشه تا جایی که من میدونم. اینکه هر فانکشن به صورت مشخص یه کار رو انجام بده تا حد امکان و تعداد خطوطش در حدی زیاد نباشه که maintenance و debug یا چیزای این چنینی رو با مشکل رو به رو کنه.

پی اس: برای clean code حتما پیشنهاد میکنم اگر برنامه نویس هستین و میخواین جدی ادامه بدین. یه سری به یوتیوب بزنین و Clean Code - Uncle Bob این سری رو ببینین.

1 پسندیده

سلام
مطمئن بشین حتما migrate کامل انجام شده باشه و فایل ProofOfExistence1 هم دیپلوی شده باشه روی بلاکچینتون.

1 پسندیده


سلام و خدا قوت
ممنون از راهنمایی های شما
این دستور رو نمیشناسه چه باید کرد

1 پسندیده