±à¼ÍƼö: |
ÎÄÕÂÖ÷ÒªÒÔͶƱӦÓÃΪÒý½éÉÜÁËÇø¿éÁ´¿ª·¢µÄÏà¹ØÖªÊ¶£¬°üº¬È¥ÖÐÐÄ»¯Ó¦Óüܹ¹£¬ÒÔÌ«·»£¬½»Ò×Êý¾ÝµÈµÈ£¬Ï£Íû¶ÔÄúÄÜÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚcnblogs£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼¡¢ÍƼö¡£ |
|
¸ÅÊö
¶Ô³õѧÕߣ¬Ê×ÏÈÒªÁ˽âÒÔÌ«·»¿ª·¢Ïà¹ØµÄ»ù±¾¸ÅÄî¡£
ѧϰÒÔÌ«·»¿ª·¢µÄÒ»°ãǰÐò֪ʶҪÇó£¬×îºÃ¶ÔÒÔϼ¼ÊõÒѾÓÐһЩ»ù±¾Á˽⣺
Ò»ÖÖÃæÏò¶ÔÏóµÄ¿ª·¢ÓïÑÔ£¬ÀýÈ磺Python£¬Ruby£¬Java...
ǰ¶Ë¿ª·¢ÓïÑÔ£ºHTML/CSS/JavaScript
LinxuÃüÁîÐеÄʹÓÃ
Êý¾Ý¿âµÄ»ù±¾¸ÅÄî
ÏîÄ¿¼ò½é
ÎÒÃǹ¹½¨Ò»¸öÈ¥ÖÐÐÄ»¯µÄ£¨Decentralized£©Í¶Æ±Ó¦Óá£ÀûÓÃÕâ¸öͶƱӦÓ㬠Óû§¿ÉÒÔÔÚ²»¿ÉÐÅ£¨trustless£©µÄ·Ö²¼»·¾³ÖжÔÌØ¶¨ºòÑ¡ÈËͶƱ£¬Ã¿´ÎͶƱ¶¼»á±»¼Ç¼ÔÚÇø¿é
竃주
ËùνȥÖÐÐÄ»¯Ó¦Óã¨DApp£ºDcentralized Application£©£¬¾ÍÊÇÒ»¸ö²»´æÔÚÖÐÐÄ·þÎñÆ÷
µÄÓ¦Óá£ÔÚÍøÂçÖгɰÙÉÏǧµÄµçÄÔÉÏ£¬¶¼¿ÉÒÔÔËÐиÃÓ¦Óõĸ±±¾£¬ÕâʹµÃËü¼¸ºõ²»¿ÉÄÜ ³öÏÖå´»úµÄÇé¿ö¡£
»ùÓÚÇø¿éÁ´µÄͶƱÊÇÍêȫȥÖÐÐÄ»¯µÄ£¬Òò´ËÎÞÐëÈκÎÖÐÐÄ»¯»ú¹¹µÄ´æÔÚ¡£
Ö®ËùÒÔÑ¡ÔñͶƱ×÷ΪÎÒÃǵĵÚÒ»¸öÇø¿éÁ´Ó¦Óã¬ÊÇÒòΪ¼¯Ìå¾ö²ß ¡ª¡ª ÓÈÆäÊÇͶƱ»úÖÆ ¡ª¡ª ÊÇÒÔÌ«·»µÄ
Ò»¸öºËÐĵļÛÖµÖ÷ÕÅ¡£
ÁíÒ»¸öÔÒòÔÚÓÚ£¬Í¶Æ±ÊǺܶิÔÓµÄÈ¥ÖÐÐÄ»¯Ó¦ÓõĻù´¡¹¹¼þ£¬ËùÒÔÎÒÃÇÑ¡ÔñÁËͶƱӦÓÃ×÷ÎªÑ§Ï°Çø¿éÁ´ Ó¦Óÿª·¢µÄµÚÒ»¸öÏîÄ¿¡£
³õÊ¶Çø¿éÁ´
Èç¹ûÄãÊìϤ¹ØÏµÐÍÊý¾Ý¿â£¬¾ÍÓ¦¸ÃÖªµÀÒ»ÕÅÊý¾Ý±íÀï¿ÉÒÔ°üº¬ºÜ¶àÐÐÊý¾Ý¼Ç¼¡£ÀýÈ磬ÏÂÃæµÄÊý¾Ý±íÖÐ °üº¬ÁË6Ìõ½»Ò׼Ǽ£º
±¾ÖÊÉÏ£¬Çø¿éÁ´Ê×ÏȾÍÊÇÒ»¸ö·Ö²¼Ê½£¨Distributed£©Êý¾Ý¿â£¬Õâ¸öÊý¾Ý¿âά»¤ÁËÒ»¸ö²»¶ÏÔö³¤µÄ¼Ç¼ÁÐ±í¡£
ÏÖÔÚ£¬ÈÃÎÒÃǶÔÊý¾Ý½øÐÐÅúÁ¿£¨batch£©´æ´¢£¬±ÈÈçÿÅú 100 ÐУ¬²¢½«¸÷´æ´¢Åú´ÎÁ¬½ÓÆðÀ´£¬ÊDz»ÊǾÍÏñÒ»ÌõÁ´£¿

ÔÚÇø¿éÁ´À¶à¸öÊý¾Ý¼Ç¼×é³ÉµÄÅú´Î¾Í±»³ÆÎª¿é£¨block£©£¬¿éÀïµÄÿһÐÐÊý¾Ý¼Ç¼¾Í±»³ÆÎª½»Ò×£¨transaction£©£º
×ʼµÄÄǸö¿é£¬Í¨³£±»³ÆÎª´´ÊÀ¿é£¨genesis block£©£¬Ëü²»Ö¸ÏòÈÎºÎÆäËû¿é¡£
²»¿É´Û¸ÄÐÔ
Çø¿éÁ´µÄÒ»¸öÏÔÖøÌØµãÊÇ£¬Êý¾ÝÒ»µ©Ð´ÈëÁ´ÖУ¬¾Í²»¿É´Û¸ÄÖØÐ´¡£
ÔÚ´«Í³µÄ¹ØÏµÐÍÊý¾Ý¿âÖУ¬Äã¿ÉÒÔºÜÈÝÒ׵ظüÐÂÒ»ÌõÊý¾Ý¼Ç¼¡£µ«ÊÇ£¬ÔÚÇø¿éÁ´ÖУ¬Ò»µ©Êý¾ÝдÈë¾ÍÎÞ·¨ ÔÙ¸üÐÂÁË
¡ª¡ª Òò´Ë£¬Çø¿éÁ´ÊÇÒ»Ö±Ôö³¤µÄ¡£
ÄÇô£¬Çø¿éÁ´ÊÇÈçºÎʵÏÖÊý¾ÝµÄ²»¿É´Û¸ÄÌØÐÔ£¿
ÕâÊ×ÏȵÃÒæÓÚ¹þÏ££¨Hash£©º¯Êý ¡ª¡ª Èç¹ûÄ㻹û½Ó´¥¹ý¹þÏ£º¯Êý£¬²»·Á½«ËüÊÓΪһ¸öÊý×ÖÖ¸ÎÆµÄ¼ÆË㺯Êý£º
ÊäÈëÈÎÒⳤ¶ÈµÄÄÚÈÝ£¬Êä³ö¶¨³¤µÄÂëÁ÷£¨Ö¸ÎÆ£©¡£¹þÏ£º¯ÊýµÄÒ»¸öÖØÒªÌØÐÔ¾ÍÊÇ£¬ÊäÈëµÄÈκÎÒ»µã΢С±ä»¯£¬¶¼»á
µ¼ÖÂÊä³öµÄ¸Ä±ä¡£Òò´Ë¿ÉÒÔ½«¹þÏ£Öµ×÷ΪÄÚÈݵÄÖ¸ÎÆÀ´Ê¹Óá£
ÓÉÓÚÇø¿éÁ´ÀïµÄÿ¸ö¿é¶¼´æ´¢ÓÐǰһ¸ö¿éÄÚÈݵĹþÏ£Öµ£¬Òò´ËÈç¹ûÓÐÈκοéµÄÄÚÈݱ»´Û¸Ä£¬±»´Û¸ÄµÄ¿éÖ®ºó ËùÓпéµÄ¹þÏ£ÖµÒ²»áËæÖ®¸Ä±ä£¬ÕâÑùÎÒÃǾͺÜÈÝÒ×¼ì²â³öÇø¿éÁ´µÄ¸÷¿éÊÇ·ñ±»´Û¸ÄÁË¡£
È¥ÖÐÐÄ»¯µÄÌôÕ½
Ò»µ©ÍêȫȥÖÐÐÄ»¯£¬ÔÚÍøÂçÉÏ¾Í»á´æÔÚ´óÁ¿µÄÇø¿éÁ´¸±±¾£¨¼´£ºÈ«½Úµã£©£¬ºÜ¶àÊÂÇé¶¼»á±äµÃ±È֮ǰÖÐÐÄ»¯ Ó¦Óû·¾³¸´ÔӵĶ࣬ÀýÈ磺
ÈçºÎ±£Ö¤ËùÓи±±¾¶¼ÒÑͬ²½µ½×îÐÂ״̬£¿
ÈçºÎ±£Ö¤ËùÓн»Ò×¶¼±»¹ã²¥µ½ËùÓÐÔËÐкÍά»¤Çø¿éÁ´¸±±¾µÄ½Úµã¼ÆËã»úÉÏ£¿
ÈçºÎ·ÀÖ¹¶ñÒâ²ÎÓëÕß´Û¸ÄÇø¿éÁ´
......
ͨ¹ýÓë¾µäµÄC/S¼Ü¹¹µÄ¶Ô±È£¬ÎÒÃǽ«Öð²½Àí½âÈ¥ÖÐÐÄ»¯Ó¦ÓõĺËÐÄ˼·£¬ ²¢ÕÆÎÕÈçºÎ¹¹½¨ÒÔÌ«·»ÉϵÄÈ¥ÖÐÐÄ»¯Ó¦Óá£
C/S¼Ü¹¹ÒÔ·þÎñÆ÷ΪÖÐÐÄ
Àí½âÈ¥ÖÐÐÄ»¯Ó¦Óüܹ¹µÄ×îºÃ·½·¨£¬¾ÍÊǽ«ËüÓëÊìϤµÄClient/Server¼Ü¹¹½øÐжԱȡ£Èç¹ûÄãÊÇÒ»¸öweb¿ª·¢Õߣ¬
Ó¦¸Ã¶ÔÏÂͼºÜÁ˽⣬ÕâÊÇÒ»¸öµäÐ͵ÄClient/Server¼Ü¹¹£º
Ò»¸öµäÐÍwebÓ¦ÓõķþÎñ¶Ëͨ³£ÓÉ Java£¬Ruby£¬Python µÈµÈÓïÑÔʵÏÖ¡£Ç°¶Ë´úÂëÓÉ HTML/CSS/JavaScript
ʵÏÖ¡£ È»ºó½«Õû¸öÓ¦ÓÃÍйÜÔÚÔÆ¶Ë£¬±ÈÈç AWS¡¢Google Cloud Platform¡¢Heroku....£¬»òÕß·ÅÔÚÄã×âÓõÄÒ»¸öVPS
Ö÷»úÉÏ¡£
Óû§Í¨¹ý¿Í»§¶Ë£¨Client£©Óë web Ó¦Óã¨Server£©½øÐн»»¥¡£µäÐ͵Ŀͻ§¶Ë°üÀ¨ä¯ÀÀÆ÷¡¢ÃüÁîÐй¤¾ß£¨curl¡¢wgetµÈ£©¡¢
»òÕßÊÇAPI·ÃÎÊ´úÂë¡£×¢ÒâÔÚÕâÖּܹ¹ÖУ¬×ÜÊÇ´æÔÚÒ»¸ö£¨»òÒ»×飩ÖÐÐÄ»¯µÄ web ·þÎñÆ÷£¬ËùÓеĿͻ§¶Ë¶¼ÐèÒª
ÓëÕâÒ»£¨×飩·þÎñÆ÷½øÐн»»¥¡£µ±Ò»¸ö¿Í»§¶ËÏò·þÎñÆ÷·¢³öÇëÇóʱ£¬·þÎñÆ÷´¦Àí¸ÃÇëÇó£¬ÓëÊý¾Ý¿â/»º´æ½øÐн»»¥£¬
¶Á/д/¸üÐÂÊý¾Ý¿â£¬È»ºóÏò¿Í»§¶Ë·µ»ØÏìÓ¦¡£
ÕâÊÇÎÒÃÇÊìϤµÄÖÐÐÄ»¯¼Ü¹¹¡£
È¥ÖÐÐÄ»¯¼Ü¹¹¡ª¡ª±Ë´ËƽµÈµÄ½Úµã
ÏÂͼ¸ø³öÁË»ùÓÚÒÔÌ«·»µÄÈ¥ÖÐÐÄ»¯Ó¦Óüܹ¹£º
ÄãÓ¦¸ÃÒѾעÒâµ½£¬Ã¿¸ö¿Í»§¶Ë£¨ä¯ÀÀÆ÷£©¶¼ÊÇÓë¸÷×ԵĽڵãÓ¦ÓÃʵÀý½øÐн»»¥£¬¶ø²»ÊÇÏò Ò»¸öÖÐÐÄ»¯µÄ·þÎñÆ÷ÇëÇó·þÎñ¡£
ÔÚÒ»¸öÀíÏëµÄÈ¥ÖÐÐÄ»¯»·¾³ÖУ¬Ã¿¸öÏëÒª¸úDApp½»»¥µÄÈË£¬¶¼ÐèÒªÔÚËûÃǵļÆËã»ú»òÊÖ»úÉÏÃæÔËÐÐ Ò»¸öµÄÍêÕûÇø¿éÁ´½Úµã
¡ª¡ª ¼òÑÔÖ®£¬Ã¿¸öÈ˶¼ÔËÐÐÒ»¸öÈ«½Úµã¡£ÕâÒâζ×Å£¬ÔÚÄܹ»ÕæÕýʹÓÃÒ»¸ö È¥ÖÐÐÄ»¯Ó¦ÓÃ֮ǰ£¬Óû§²»µÃ²»ÏÂÔØÕû¸öÇø¿éÁ´¡£
²»¹ýÎÒÃDz¢·ÇÉú»îÔÚÒ»¸öÎÚÍаîÀÆÚ´ýÿ¸öÓû§¶¼ÏÈÔËÐÐÒ»¸öÈ«½Úµã£¬È»ºóÔÙʹÓÃÄãµÄÓ¦ÓÃÊDz»ÏÖʵµÄ¡£ µ«ÊÇÈ¥ÖÐÐÄ»¯±³ºóµÄºËÐÄ˼Ï룬¾ÍÊDz»ÒÀÀµÓÚÖÐÐÄ»¯µÄ·þÎñÆ÷¡£ËùÒÔ£¬Çø¿éÁ´ÉçÇøÒѾ³öÏÖÁË
һЩ½â¾ö·½°¸£¬ÀýÈçÌṩ¹«¹²Çø¿éÁ´½ÚµãµÄInfura, ÒÔ¼°ä¯ÀÀÆ÷²å¼þMetamaskµÈ¡£Í¨¹ýÕâЩ·½°¸£¬
Äã¾Í²»ÐèÒª»¨·Ñ´óÁ¿µÄÓ²ÅÌ¡¢ÄÚ´æºÍʱ¼äÈ¥ÏÂÔØ²¢ÔËÐÐÍêÕûµÄÇø¿éÁ´½Úµã£¬Í¬Ê±Ò²¿ÉÒÔÀûÓÃÈ¥ÖÐÐÄ»¯ µÄÓŵ㡣ÎÒÃǽ«»áÒÔºóµÄ¿Î³ÌÖжÔÕâЩ½â¾ö·½°¸·Ö±ð½øÐÐÆÀ²â¡£
ÒÔÌ«·»¡ª¡ªÊÀ½ç¼ÆËã»ú
ÒÔÌ«·»ÊÇÒ»ÖÖÇø¿éÁ´µÄʵÏÖ¡£ÔÚÒÔÌ«·»ÍøÂçÖУ¬ÖÚ¶àµÄ½Úµã±Ë´ËÁ¬½Ó£¬¹¹³ÉÁËÒÔÌ«·»ÍøÂ磺
ÒÔÌ«·»½ÚµãÈí¼þÌṩÁ½¸öºËÐŦÄÜ£ºÊý¾Ý´æ´¢¡¢ºÏÔ¼´úÂëÖ´ÐС£
ÔÚÿ¸öÒÔÌ«·»È«½ÚµãÖУ¬¶¼±£´æÓÐÍêÕûµÄÇø¿éÁ´Êý¾Ý¡£ÒÔÌ«·»²»½ö½«½»Ò×Êý¾Ý±£´æÔÚÁ´ÉÏ£¬±àÒëºó µÄºÏÔ¼´úÂëͬÑùÒ²±£´æÔÚÁ´ÉÏ¡£
ÒÔÌ«·»È«½ÚµãÖУ¬Í¬Ê±»¹ÌṩÁËÒ»¸öÐéÄâ»úÀ´Ö´ÐкÏÔ¼´úÂë¡£
½»Ò×Êý¾Ý
ÒÔÌ«·»ÖÐÿ±Ê½»Ò×¶¼´æ´¢ÔÚÇø¿éÁ´ÉÏ¡£µ±Ä㲿ÊðºÏԼʱ£¬Ò»´Î²¿Êð¾ÍÊÇÒ»±Ê½»Òס£µ±ÄãΪºòÑ¡ÕßͶƱʱ£¬Ò»´ÎͶƱ
ÓÖÊÇÁíÒ»±Ê½»Òס£ËùÓеÄÕâЩ½»Ò×¶¼Êǹ«¿ªµÄ£¬Ã¿¸öÈ˶¼¿ÉÒÔ¿´µ½²¢½øÐÐÑéÖ¤¡£Õâ¸öÊý¾ÝÓÀÔ¶Ò²ÎÞ·¨´Û¸Ä¡£
ΪÁËÈ·±£ÍøÂçÖеÄËùÓнڵ㶼ÓÐ×Åͬһ·ÝÊý¾Ý¿½±´£¬²¢ÇÒûÓÐÏòÊý¾Ý¿âÖÐдÈëÈκÎÎÞЧÊý¾Ý£¬ÒÔÌ«·» ĿǰʹÓù¤×÷Á¿Ö¤Ã÷
£¨POW£ºProof Of Work£©Ëã·¨À´±£Ö¤ÍøÂ簲ȫ£¬¼´Í¨¹ý¿ó¹¤ÍÚ¿ó£¨Mining£©À´´ï³É¹²Ê¶£¨Consensus£©¡ª¡ª
½«Êý¾Ýͬ²½µ½ËùÓнڵ㡣
¹¤×÷Á¿Ö¤Ã÷²»ÊÇ´ï³É¹²Ê¶µÄΨһËã·¨£¬ÍÚ¿óÒ²²»ÊÇÇø¿éÁ´µÄΨһѡÔñ¡£ÏÖÔÚ£¬ÎÒÃÇÖ»ÐèÒªÁ˽⣬¹²Ê¶ÊÇÖ¸¸÷½Úµã
µÄÊý¾ÝʵÏÖÁËÒ»Ö£¬POWÖ»ÊÇÖÚ¶àÓÃÓÚ½¨Á¢¹²Ê¶µÄËã·¨ÖеÄÒ»ÖÖ£¬ÕâÖÖËã·¨ÐèҪͨ¹ý¿ó¹¤µÄÍÚ¿óÀ´ÊµÏÖ·Ç¿ÉÐÅ»·¾³ÏµÄ
¿ÉÐŽ»Òס£¹²Ê¶ÊÇÄ¿µÄ£¬POWÊÇÊֶΡ£
ºÏÔ¼´úÂë
ÒÔÌ«·»²»½ö½öÔÚÁ´ÉÏ´æ´¢½»Ò×Êý¾Ý£¬Ëü»¹¿ÉÒÔÔÚÁ´ÉÏ´æ´¢ºÏÔ¼´úÂë¡£
ÔÚÊý¾Ý¿â²ãÃæ£¬Çø¿éÁ´µÄ×÷ÓþÍÊÇ´æ´¢½»Ò×Êý¾Ý¡£ÄÇô¸øºòÑ¡ÕßͶƱ¡¢»òÕß¼ìË÷ͶƱ½á¹ûµÄÂß¼·ÅÔÚÄĶùÄØ£¿
ÔÚÒÔÌ«·»µÄÊÀ½çÀÄã¿ÉÒÔʹÓÃSolidityÓïÑÔÀ´±àдҵÎñÂß¼/Ó¦ÓôúÂ루Ҳ¾ÍÊǺÏÔ¼£ºContract£©£¬
È»ºó½«ºÏÔ¼´úÂë±àÒëΪÒÔÌ«·»×Ö½ÚÂ룬²¢½«×Ö½ÚÂ벿Êðµ½Çø¿éÁ´ÉÏ£º
±àдºÏÔ¼´úÂëÒ²¿ÉÒÔʹÓÃÆäËûµÄÓïÑÔ£¬²»¹ý SolidityÊǵ½Ä¿Ç°ÎªÖ¹×îÁ÷ÐеÄÑ¡Ôñ¡£
ÒÔÌ«·»ÐéÄâ»ú
ÒÔÌ«·»Çø¿éÁ´²»½ö´æ´¢Êý¾ÝºÍ´úÂ룬ÿ¸ö½ÚµãÖл¹°üº¬Ò»¸öÐéÄâ»ú£¨EVM£ºEthereum Virtual
Machine£©À´Ö´ÐÐ ºÏÔ¼´úÂë ¡ª¡ª ÌýÆðÀ´¾ÍÏñ¼ÆËã»ú²Ù×÷ϵͳ¡£
ÊÂʵÉÏ£¬ÕâÒ»µãÊÇÒÔÌ«·»Çø±ðÓÚ±ÈÌØ±Ò£¨Bitcoin£©µÄ×îºËÐĵÄÒ»µã£ºÐéÄâ»úµÄ´æÔÚÊ¹Çø¿éÁ´ÂõÈëÁË2.0
ʱ´ú£¬Ò²ÈÃÇø¿éÁ´µÚÒ»´Î³ÉΪӦÓÿª·¢ÕßÓÑºÃµÄÆ½Ì¨¡£
JS¿ª·¢¿â
ΪÁ˱ãÓÚ¹¹½¨»ùÓÚwebµÄDApp£¬ÒÔÌ«·»»¹ÌṩÁËÒ»¸ö·Ç³£·½±ãµÄJavaScript¿âweb3.js£¬Ëü·â×°ÁËÒÔÌ«·»½ÚµãµÄAPI
ÐÒ飬´Ó¶øÈÿª·¢Õß¿ÉÒÔÇáËɵØÁ¬½Óµ½Çø¿éÁ´½Úµã¶ø²»±Ø±àд·±ËöµÄRPCÐÒé°ü¡£ËùÒÔ£¬ÎÒÃÇ¿ÉÒÔÔÚ³£ÓõÄJS¿ò¼Ü
£¨±ÈÈç reactjs¡¢angularjs µÈ)ÖÐÖ±½ÓÒýÈë¸Ã¿âÀ´¹¹½¨È¥ÖÐÐÄ»¯Ó¦Óãº
|