Tommi Versetti pfp

Tommi Versetti

@tommiversetti

102 Following
150 Followers


Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Hello, World!
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Good NFT! https://wallet.coinbase.com/nft/mint/coffeedays?challengeId=ocsChallenge_9142cba1-ec12-4ee8-915e-7976536908cd
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Check your xp at debank. it can be potential airdrop
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
good article about dApps security https://www.immunebytes.com/blog/dapp-security/#Benefits_of_DApps_Security
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
that was my start. https://ru.hexlet.io/courses/js-basics
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
A tapper that can fatly fill up DISCLAIMER: I am against betting on sports and casino - it's a total scam and it's impossible to make money there. If you start betting on sports or tinkering in casinos after this tapper - then you are a LOSER! 🟢So, the main ones are: 1) A lot of tapals we skip because they most likely have a weak invest which prevents them from giving away any even marginally decent amount on airdrop. Here we have that 1win is an organization that has a lot of money. Which means that they already have the money for the airdrop and they don't need to raise any investment 2) It's important for them to give away a lot, but why? So that after the drop, any person who has never tinkered before will have a subconscious association that 1win = earnings 3) Therefore, it is very likely that this tapper can give away like notcoin, for example, $200-300 per acct, and by doing so they will do perfect marketing http://t.me/token1win_bot/start?startapp=refId6669647798
0 reply
0 recast
1 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Light node Instead of downloading every block, light nodes only download block headers. These headers contain summary information about the contents of the blocks. Any other information the light node requires gets requested from a full node. The light node can then independently verify the data they receive against the state roots in the block headers. Light nodes enable users to participate in the Ethereum network without the powerful hardware or high bandwidth required to run full nodes. Eventually, light nodes might run on mobile phones or embedded devices. The light nodes do not participate in consensus (i.e. they cannot be miners/validators), but they can access the Ethereum blockchain with the same functionality and security guarantees as a full node. Light clients are an area of active development for Ethereum and we expect to see new light clients for the consensus layer and execution layer soon. There are also potential routes to providing light client data over the gossip network.
0 reply
0 recast
1 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Archive node Archive nodes are full nodes that verify every block from genesis and never delete any of the downloaded data. Stores everything kept in the full node and builds an archive of historical states. It is needed if you want to query something like an account balance at block #4,000,000, or simply and reliably test your own transactions set without mining them using tracing. This data represents units of terabytes, which makes archive nodes less attractive for average users but can be handy for services like block explorers, wallet vendors, and chain analytics. Syncing clients in any mode other than archive will result in pruned blockchain data. This means, there is no archive of all historical states but the full node is able to build them on demand. https://ethereum.org/en/developers/docs/nodes-and-clients/archive-nodes/
1 reply
0 recast
2 reactions

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Full node Full nodes do a block-by-block validation of the blockchain, including downloading and verifying the block body and state data for each block. There are different classes of full node - some start from the genesis block and verify every single block in the entire history of the blockchain. Others start their verification at a more recent block that they trust to be valid (e.g. Geth's 'snap sync'). Regardless of where the verification starts, full nodes only keep a local copy of relatively recent data (typically the most recent 128 blocks), allowing older data to be deleted to save disk space. Older data can be regenerated when it is needed. Stores full blockchain data (although this is periodically pruned so a full node does not store all state data back to genesis) Participates in block validation, verifies all blocks and states. All states can be either retrieved from local storage or regenerated from 'snapshots' by a full node. Serves the network and provides data on request.
7 replies
0 recast
3 reactions

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
תודה
0 reply
0 recast
0 reaction

Nikita Vergunov pfp
Nikita Vergunov
@vergunov
Zero-knowledge rollups (ZK-rollups) bundle (or 'roll up') transactions into batches that are executed off-chain. Off-chain computation reduces the amount of data that has to be posted to the blockchain. ZK-rollup operators submit a summary of the changes required to represent all the transactions in a batch rather than sending each transaction individually. They also produce validity proofs to prove the correctness of their changes. The ZK-rollup's state is maintained by a smart contract deployed on the Ethereum network. To update this state, ZK-rollup nodes must submit a validity proof for verification. As mentioned, the validity proof is a cryptographic assurance that the state-change proposed by the rollup is really the result of executing the given batch of transactions. This means that ZK-rollups only need to provide validity proofs to finalize transactions on Ethereum instead of posting all transaction data on-chain like optimistic rollups.
2 replies
0 recast
20 reactions

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
No, sorry. I can't write yet a cross chain bridge😅
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
# Example usage: # Instantiate the Blockchain blockchain = Blockchain() # Example transactions blockchain.new_transaction('Alice', 'Bob', 1) blockchain.new_transaction('Bob', 'Alice', 5) # Mine a new block last_block = blockchain.last_block last_proof = last_block['proof'] proof = blockchain.proof_of_work(last_proof) # Add the block to the blockchain previous_hash = blockchain.hash(last_block) block = blockchain.new_block(proof, previous_hash) # Output the blockchain print(json.dumps(blockchain.chain, indent=2))
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
def proof_of_work(self, last_proof): """ Simple Proof of Work Algorithm: - Find a number p' such that hash(pp') contains leading 4 zeroes, where p is the previous p' - p is the previous proof, and p' is the new proof :param last_proof: <int> :return: <int> """ proof = 0 while self.valid_proof(last_proof, proof) is False: proof += 1 return proof @staticmethod def valid_proof(last_proof, proof): """ Validates the Proof: Does hash(last_proof, proof) contain 4 leading zeroes? :param last_proof: <int> Previous Proof :param proof: <int> Current Proof :return: <bool> True if correct, False if not. """ guess = f'{last_proof}{proof}'.encode() guess_hash = hashlib.sha256(guess).hexdigest() return guess_hash[:4] == "0000"
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
def new_transaction(self, sender, recipient, amount): """ Creates a new transaction to go into the next mined Block :param sender: <str> Address of the Sender :param recipient: <str> Address of the Recipient :param amount: <int> Amount :return: <int> The index of the Block that will hold this transaction """ self.current_transactions.append({ 'sender': sender, 'recipient': recipient, 'amount': amount, }) return self.last_block['index'] + 1 @staticmethod def hash(block): """ Creates a SHA-256 hash of a Block :param block: <dict> Block :return: <str> """ # We must make sure that the Dictionary is Ordered, or we'll have inconsistent hashes block_string = json.dumps(block, sort_keys=True).encode() return hashlib.sha256(block_string).hexdigest() @property def last_block(self): return self.chain[-1]
0 reply
0 recast
0 reaction

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
import hashlib import json from time import time from uuid import uuid4 class Blockchain: def __init__(self): self.chain = [] self.current_transactions = [] # Create the genesis block self.new_block(previous_hash='1', proof=100) def new_block(self, proof, previous_hash=None): """ Create a new Block in the Blockchain :param proof: <int> The proof given by the Proof of Work algorithm :param previous_hash: (Optional) <str> Hash of previous Block :return: <dict> New Block """ block = { 'index': len(self.chain) + 1, 'timestamp': time(), 'transactions': self.current_transactions, 'proof': proof, 'previous_hash': previous_hash or self.hash(self.chain[-1]), } # Reset the current list of transactions self.current_transactions = [] self.chain.append(block) return block
1 reply
0 recast
4 reactions

Tommi Versetti pfp
Tommi Versetti
@tommiversetti
Shalom! I'l be happy if you advise me good books and other information about Blockchain and solidity programming. Thanks!
12 replies
0 recast
12 reactions