כיצד לכרות את הבלוקצ'יין ב-Java PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כיצד לכרות את הבלוקצ'יין בג'אווה

כיצד לכרות את הבלוקצ'יין ב-Java PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

נתחיל ביצירת שירות חדש עבור משתמשים וכורים. זה יהיה עותק של שני השירותים האחרים עבור הבלוקצ'יין והצמתים, אבל נכניס בקר, שירות ודגמים חדשים. מכיוון שכורים הם משתמשים (כלומר הם צריכים כתובת שתכלול בעסקאות), נתחיל עם משתמשים. בואו ניצור נקודת קצה כדי להוסיף, לרשום ולקבל מידע על משתמש. אני הולך להשתמש באימות בסיסי עבור list ו get נקודות קצה. ה add נקודת הקצה תהיה פתוחה, מכיוון שכל אחד אמור להיות מסוגל ליצור משתמש.

אמנם אני רוצה להפגין רמה מסוימת של אימות, אבל אני לא רוצה להסתבך בפרטים של מערכת אימות אמיתית. אז כדי לדמות בדיקה, שם המשתמש והסיסמה חייבים להיות זהים והמשתמש המיוחד לרישום כל המשתמשים חייב להיקרא admin. אני גם אצור את משתמש המנהל באופן מיידי אם אחד לא קיים בהפעלה.

הנה מה שיש לי לבקר:

השירות די פשוט:

השתמש application.yaml כדי להגדיר את הפרמטרים עבור MongoDB:

עכשיו אתה יכול להשתמש ב- docker-compose.yaml קובץ כדי לסובב את MongoDB ולבדוק את נקודות הקצה החדשות. אתה אמור להיות מסוגל להוסיף ולפרט משתמשים למערכת. רק זכרו להשתמש באימות בסיסי. חשוב לזכור שהאימות הבסיסי משתמש בשם המשתמש, בעוד שנקודת הקצה משתמשת במזהה לחיפוש יעיל יותר.

מה עוד יש למשתמש חוץ מזהה ושם? במערכת קריפטו, אנו חושבים על משתמש כבעל ארנק. הארנק הוא כתובת וזוג מפתחות פרטיים/ציבוריים. במערכת שלנו, אנחנו הולכים לקפל את אלה יחד כך שלמשתמש יוכל להיות רק "ארנק" אחד (כלומר כתובת וזוג מפתחות פרטיים/ציבוריים). עם זה, המשתמש יכול ליצור עסקאות. אנחנו לא יכולים להשתמש במזהה ככתובת מכיוון שכל משתמש מחובר לצומת והמזהה אינו ייחודי בצמתים. אז נשתמש ב-UUID עבור הכתובת. אז זה רק עניין של יצירת צמד המפתחות הפרטי/ציבורי. הנה המעודכן UserService.addUser:

כי אנחנו לא רוצים לעולם לחשוף את privateKey, נוסיף את השורה הזו לכל שרשרת ב- UserController שיחזיר משתמש או רשימת משתמשים:

.doOnNext(u -> u.setPrivateKey(null));

כעת אנו מוכנים ליצור עסקה בשם משתמש.

יש לנו נקודת קצה בסיסית ליצירת עסקאות בשירות הבלוקצ'יין, אז אנחנו הולכים להסיר את זה. אנחנו הולכים לשמור את נקודת הקצה של הוספת העסקה ונוכל לקרוא לזה מנקודת הקצה החדשה שלנו בשירות המשתמש. נקודת הקצה החדשה בבקר נראית כך:

השיטה החדשה ב UserService הכיתה נראית כך:

אתה יכול לראות שאנחנו לוקחים את המפתח הפרטי שמקודד במסד הנתונים ומשתמשים בו כדי לחתום על חוזה הקלט. בדיוק כמו שיצרנו את withHash שיטה, יצרנו את withSignature שיטה כי יש לחשב את החתימה לאחר החלת הנתונים. אנחנו לא טורחים לבדוק את כתובות הפלט, מכיוון שאין מקור אמת אחד לכתובות. ישנם כמה פורמטים ספציפיים לכתובות המשמשות מטבעות קריפטוגרפיים מסוימים כדי לסייע במניעת מסירת מטבעות לכתובות שאינן קיימות, אבל אין דרך להבטיח שלא תשלח את המטבעות שלך ל-bit-bucket הפתגם.

מקור: https://betterprogramming.pub/how-to-mine-the-blockchain-in-java-9647de36a8fc?source=rss——-8—————–cryptocurrency

בול זמן:

עוד מ בינוני