COME CREARE UNA CRIPTOVALUTA? Parte 1
Вставка
- Опубліковано 14 жов 2024
- INTRO:
In questo video tutorial vedremo come costruire una blockchain sulla quale effettuare delle transazioni con una criptovaluta da noi creata. Questa blockchain e' solo a titolo dimostrativo per poter comprendere cosa si cela dietro a questa tecnologia. Il codice puo essere trovato nel seguente GitHub Repository: github.com/Fed...
LINK:
Versione Javavscript: • Creating a blockchain ...
REFERRALS
💰 BINANCE 5% kickback: www.binance.cc...
💰 CRYPTO:COM 25$: crypto.com/app...
💰 BITPANDA 10€: www.bitpanda.c...
💰 COINLIST: coinlist.co/cl...
DONAZIONI
🎱 BTC: 1AbCnwFnK726uYf3buszxh2fJsob6FQpBq
🎱 ETH: 0xdc9a21d0bc19f018904e676da5eb5add064f8822
🎱 ADA: DdzFFzCqrht7xttZtuWZAKjGNYLKhNdk8xvpVLuCVtN1BQ9cZrXdcNxSQpwjHFb132bN1zfeSeswiDCzSJPjzW87X58kBbBNNNqGbKwA
🎱 BNB: 0xdc9a21d0bc19f018904e676da5eb5add064f8822
CONTATTI:
👋 / federico-gentile-b1091552
ciao federico , sto avendo dei problemi . quando avvio il comando dal prompt per aprire la pagina di jupyter mi dice che non esiste nessuna pagina. come possof fare?( intendo quando scrivo jupyter notebook)
Ciao Martina non sono di aver capito quale sia l'errore ma assicurati cmq quando digiti "pip install jupyter notebook" che il tuo virtual environment sia attivo. Per assicurarti che sia stato installato correttamente lo dovresti trovare listato utilizzando il comando pip list. Se non funziona nulla, puoi installare il Anaconda (lo trovi su google) e te lo installa automaticamente.
Quando inserisco la riga di codice: fede_chain = BlockChain()
Schiaccio "run" e mi dà un errore tipo: NameError: name 'BockChain' is not defined.
Mi puoi dare una mano?
Ciao! Ti sei assicurato di aver lanciato la cella dove hai definito la classe BlockChain? 16:14 Dovrebbe essere la soluzione al tuo problema.
@@federicogentile90 grazie mille, problema risolto 💪🏽
Ciao, scusa il disturbo. Se non viene fuori "valid BlockChain" ci sono problemi?
Secondo problema, quando verifico non vengono fuori le scritture che vengono a te. Io verifico con shift+entrt, è giusto?
Ciao! Se non ti esce la scritta block chain is valid allora molto probabilmente potresti avere qualche errore di sintassi. Ad ogni modo puoi risolvere tutto se vai sul mio account github e provi a paragonare il tuo codice con il mio :)
Complimenti! Video veramente ben fatto!
E' in programma spiegare ruolo e metodo della proof of work e di altre proof simili?
Ciao e grazie mille! si la proof of work la pubblico credo questa domenica o la prossima :) Cmq l'ho gia registrata
CIAO scusi ma a me non va non e che me lo potresti correggere perfavore :
from hashlib import sha256
import json
In [19]: class Block:
def __init__(self, index, timestamp, data, previous_hash=''):
self.index = index
self.timestamp = timestamp
self.data = data
self.previos_hash = previous_hash
self.hash = self.calculate_hash()
def calculate_hash(self):
hash_str = str (self.index) + self.timestamp + self.data + self.previous_hash
return sha256(hash_str.encode('utf-8')).hexdigest()
def content(self):
print(jsno.bumps(self.__dict__, ident=2, default=str))
class Blockchain:
def __init__(self):
self.chain = [self.generate_genesis_block()]
def generate_genesis_block(self):
return Block(0, '27/12/2022', 'Genesis Block')
def add_block(self, new_block):
new_block.previous_.hash = slef.chain[-1].hash
new_block.hash = new_block.calculate_hash()
self.chain.append(new_block)
def is_chain_valid(self):
for i in range(1, len(self.chain))
current_block = self.chain[i]
previous_block = self.chain[i-1]
if current_block.hash != current_block.calculate_hash():
raise ValueError (£'current_block.hash != current_block.calculate_hash()')
elif current_block.previous_hash != previous.block_hash:
raise ValueError (£'current_block.previous_hash != previous_block.hash()')
print('valid blockchain')
def content(self):
for block in self.chain:
block.content()
In [ ]: fede_chain = BlockChain()
In [ ]: Blok1 = Block(1, '27/12/2022', 'transazione numero 1')
fede_chain.add_block(block1)
Block2 = Block(2, '27/12/2022', 'transazione numero 2')
fede_chain.add_block(block2)
In [ ]: fede_chain.is_chain_valid()
In [ ]: fede_chain.content()
Impara a programmare sulla blockchain di Ethereum: ua-cam.com/play/PLi0c61zihNimXEDUIvlzIP7chcnjjW1q3.html
Per chi fosse interessato vi lascio 100$ di referral bonus per usare Binance: www.binance.com/en/activity/referral-entry/CPA?fromActivityPage=true&ref=CPA_00TK6V2ZLW
Sei disponibile a progetto per creazione di una coin?
Ciao Grazie mille per avermi contattato. Al momento purtroppo sono gia' impegnato in troppi progetti e quindi non ho tempo. Nel caso mi libero un po' posso contattarti :)
non trovo il percorso nel prompt dei comandi. qualcuno disposto ad aiutarmi?
Ciao! non sono sicuro di aver capito quale e' il tuo problema ma potrebbe essere che il comando "ls" non funziona e quindi devi usare "dir" .
Altrimenti ti consiglio di installare Anaconda ed usare quello come prompt :)
quali tasti usi per fare la verifica?
Ciao! Intendi SHIFT+ENTER come al minuto 16:14?
@@federicogentile90 si, per convalidare nel minuto 25:43 uso gli stessi tasti SHIFT+ENTER?
@@flame4694 si corretto! per "lanciare" una cella basta SHIFT+ENTER :)
Federico per un lavoro è possibile un tuo contatto diretto ?
Grazie mille per l'interessamento ma al momento sono molto impegnato dal punto di vista lavorativo quindi non posso offrire la mia disponibilita' per ulteriori progetti. Nel caso abbia piu' tempo posso ricontattarti :)
Ciao Federico, possibile un contatto in privato!? Vorrei chiederti una cosa
Ciao Salvatore, puoi contattarmi tramite linkedin se vuoi. Trovi il link in descrizione :)
Ciao fede a me non prende il comando timestamp
Ciao! che tipo di errore ti da?
linkedin non è un contatto diretto
una volta arrivato alla fase del blocco1 18:56 a me da un errore
TypeError: Block() takes no arguments
@@DJTekko ouch! hai provato a copiare ed incollare il codice da github e vedere se ottieni lo stesso errore? Da quello che hai scritto potrebbe essere un errore di spelling forse?
@@federicogentile90 ci provo
Grazie
dio cane lho rifatto tre volte e anche corretto e mi continua a dare syntax error
In che riga? hai controllato i ":" alla fine del nome della funzione? Sono corrette le indentazioni?
@@federicogentile90 Si ho rivisto e anche rifatto ma a sto punto credo sia un bug
@@Ramtzy._. Potresti usare un altro editor tipo VS code oppure scrivere il codice in un file .py invece di usare jupyter notebook. Inoltre puoi copiare il codice da github che trovi nella descrizione del video :)