Project Title: Create a Simple Blockchain from Scratch
Age Group: High School (14-18 years)
Project Type: Computer Science (Technology)
Project Overview
In this exciting project, we’ll be diving into one of the hottest topics in technology today: Blockchain. You’ll learn the basic concepts behind how blockchains work and write your very own blockchain from scratch using Python. No prior blockchain knowledge is required, but a basic understanding of Python programming will help.
By the end of the project, you’ll understand how blockchain technology works, why it’s secure, and how it’s used in real-world applications like cryptocurrencies.
Learning Objectives (STEM Process)
- Science: Understand the core principles of decentralized systems and cryptography.
- Technology: Write and test Python code to create a working blockchain.
- Engineering: Develop a structured approach to implementing new blocks and validating transactions.
- Mathematics: Explore how hashes and cryptographic functions ensure security in blockchains.
What You’ll Need
- A computer with Python installed.
- Basic Python programming skills (loops, functions, dictionaries).
- Access to a terminal or Python-friendly IDE (e.g., PyCharm, VSCode, or Anaconda Jupyter Notebook).
- Enthusiasm to learn!
Setup & Requirements
- Install Python: If you don’t have Python installed, go to python.org and download the latest version for your operating system.
- Install Required Libraries: We will use the
hashlib
library to generate hashes, which is a built-in library in Python. No need to install it separately. However, make sure your Python environment is set up and working by running:
python --version
Step-by-Step Instructions
1. What is a Blockchain?
Before we start coding, it’s essential to understand what a blockchain is. A blockchain is essentially a chain of blocks that contain data. Each block has:
- Index: Its position in the chain.
- Timestamp: When the block was created.
- Data: The information stored in the block (e.g., transactions).
- Previous Hash: The hash of the previous block in the chain.
- Hash: A unique identifier created by applying a cryptographic function to the block’s contents.
Each block is cryptographically linked to the one before it, ensuring that once data is added to the blockchain, it’s immutable (cannot be changed).
2. Let’s Code the Blockchain
We’ll now code a simple blockchain in Python.
Step 1: Define the Block Class
Start by creating a Block
class. This will represent each individual block in the chain.
import hashlib
import time
class Block:
def __init__(self, index, previous_hash, data, timestamp=None):
self.index = index
self.previous_hash = previous_hash
self.data = data
self.timestamp = timestamp or time.time()
self.hash = self.calculate_hash()
def calculate_hash(self):
block_string = f"{self.index}{self.previous_hash}{self.data}{self.timestamp}".encode()
return hashlib.sha256(block_string).hexdigest()
__init__
: Initializes the block with its index, data, previous hash, and timestamp. It also calculates its own hash.calculate_hash
: This method generates a cryptographic hash of the block’s content using SHA-256 (Secure Hash Algorithm).
Step 2: Define the Blockchain Class
Now that we have a block, let’s create the actual blockchain.
class Blockchain:
def __init__(self):
self.chain = [self.create_genesis_block()]
def create_genesis_block(self):
return Block(0, "0", "Genesis Block")
def get_latest_block(self):
return self.chain[-1]
def add_block(self, new_block):
new_block.previous_hash = self.get_latest_block().hash
new_block.hash = new_block.calculate_hash()
self.chain.append(new_block)
__init__
: Initializes the blockchain with the genesis block (the first block).create_genesis_block
: Creates the very first block in the chain with fixed data (“Genesis Block”).get_latest_block
: Retrieves the most recent block in the chain.add_block
: Adds a new block to the chain, updates itsprevious_hash
, and recalculates its hash to maintain integrity.
Step 3: Testing the Blockchain
Let’s now create a small test function to see the blockchain in action.
def main():
# Initialize blockchain
blockchain = Blockchain()
# Add new blocks
blockchain.add_block(Block(1, blockchain.get_latest_block().hash, "Block 1 Data"))
blockchain.add_block(Block(2, blockchain.get_latest_block().hash, "Block 2 Data"))
# Print blockchain details
for block in blockchain.chain:
print(f"Block {block.index}:")
print(f"Data: {block.data}")
print(f"Hash: {block.hash}")
print(f"Previous Hash: {block.previous_hash}\n")
if __name__ == "__main__":
main()
blockchain.add_block(...)
: Adds new blocks to the blockchain with simple data.- The loop prints out each block’s details, showing how each block is linked to the previous one via its hash.
Output Example
When you run the code, it should print out something like:
Block 0:
Data: Genesis Block
Hash: 7f69c58f0f78ef16e7e315e517206eb257c78825ae8817dfc9e12a31edb4f639
Previous Hash: 0
Block 1:
Data: Block 1 Data
Hash: d9e07d0933a09bce8b508953bd0d43d5a3ed2da5b7be801f571c81d1d1e73b4e
Previous Hash: 7f69c58f0f78ef16e7e315e517206eb257c78825ae8817dfc9e12a31edb4f639
Block 2:
Data: Block 2 Data
Hash: 4313e7a15508f93b46cbf45a6eb13c9c28d523e17d7f6dcaa3a19148d403baff
Previous Hash: d9e07d0933a09bce8b508953bd0d43d5a3ed2da5b7be801f571c81d1d1e73b4e
Each block links back to the previous one using the previous hash field, creating a secure chain.
Advanced Features (Optional)
Once you’ve built your basic blockchain, here are some cool features you can add:
- Proof of Work (Mining): Implement a mining system that requires blocks to meet a certain condition (e.g., their hash must start with a specific number of zeroes) before being added. Example of Proof of Work:
def mine_block(self, difficulty):
required_prefix = '0' * difficulty
while not self.hash.startswith(required_prefix):
self.timestamp = time.time() # Change something in the block to affect the hash
self.hash = self.calculate_hash()
- Transaction System: Instead of just adding blocks with static data, create a system where users can make transactions that are stored in the blocks.
Testing and Verifying Your Blockchain
- Integrity Check: Try tampering with a block’s data and rerun the chain to see how it breaks the cryptographic link between blocks. Example:
blockchain.chain[1].data = "Tampered Data"
After this change, the hashes will no longer match, and the chain will become invalid, demonstrating how blockchains are immutable.
- Extend the Chain: Keep adding blocks with real-world data (e.g., simple transactions) and see how the blockchain grows.
Conclusion
You’ve just built a simple yet powerful blockchain from scratch! You now understand the building blocks (pun intended) of this revolutionary technology that powers things like cryptocurrencies, secure data sharing, and even smart contracts.
Next Steps
In future posts, we’ll dive deeper into more advanced features like Proof of Work and smart contracts. Stay tuned to the Future Innovators series for more cutting-edge STEM projects!
Feel free to test this code, tweak it, and build your own blockchain projects. Keep innovating!
Subscribe to our email newsletter to get the latest posts delivered right to your email.
yzc0cy
wbzong
9n948g
I am really impressed together with your writing talents as smartly as with the layout on your weblog.
Is this a paid subject or did you modify it your self?
Anyway keep up the excellent quality writing, it’s rare
to look a great blog like this one today. Instagram Auto comment!
x6wn6u
I got good info from your blog
2k6jr5
745iw6
pvcvy2
I can’t express how much I admire the effort the author has put into producing this remarkable piece of content. The clarity of the writing, the depth of analysis, and the plethora of information provided are simply impressive. His enthusiasm for the subject is evident, and it has undoubtedly made an impact with me. Thank you, author, for providing your wisdom and enhancing our lives with this extraordinary article!
Valuable info. Lucky me I found your web site by accident, and I’m shocked why this accident did not happened earlier! I bookmarked it.
After I initially commented I clicked the -Notify me when new feedback are added- checkbox and now each time a remark is added I get four emails with the same comment. Is there any approach you may remove me from that service? Thanks!
Hey! I could have sworn I’ve been to this blog before but after checking through some of the post I realized it’s new to me. Anyhow, I’m definitely happy I found it and I’ll be bookmarking and checking back frequently!
j3lk94
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.
k7mzvf
udhrhv
liquid diamonds area 52
legal mushroom gummies area 52
hybrid gummies area 52
thc gummies for anxiety area 52
microdosing edibles area 52
weed vape area 52
thc gummies for pain area 52
live resin carts area 52
nz8up7
9guzi9
d0ijm6
https://t.me/s/Webs_1WIN
Официальный Telegram канал 1win Casinо. Казинo и ставки от 1вин. Фриспины, актуальное зеркало официального сайта 1 win. Регистрируйся в ван вин, соверши вход в один вин, получай бонус используя промокод и начните играть на реальные деньги.
https://t.me/s/Official_1win_kanal/2891
I’m in awe of the author’s capability to make complicated concepts accessible to readers of all backgrounds. This article is a testament to her expertise and commitment to providing useful insights. Thank you, author, for creating such an captivating and enlightening piece. It has been an incredible joy to read!
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
kdzah3
hi!,I like your writing so much! share we communicate more about your article on AOL? I require a specialist on this area to solve my problem. May be that’s you! Looking forward to see you.
Natural products with great results, healthy home environment maintained. Supporting sustainable business. Sustainable and smart.
Yesterday, while I was at work, my sister stole my apple ipad and tested to see if it can survive a 30 foot drop, just so she can be a youtube sensation. My apple ipad is now broken and she has 83 views. I know this is entirely off topic but I had to share it with someone!
Do you have a spam issue on this website; I also am a blogger, and I was curious about your situation; we have developed some nice methods and we are looking to exchange methods with others, why not shoot me an email if interested.
Really well-written article! 👏 I enjoyed the way you broke down the topic—it feels very genuine and helpful, not just theory. The practical tips make it easy for readers like me to connect and actually take something useful away.At meinestadtkleinanzeigen.de , we’re building a directory and classifieds platform in Germany where people can discover businesses, services, and opportunities across many categories. That’s why I especially value content like yours, because it shows how sharing knowledge online can really create connections.Keep up the great work—I’ll definitely be following along for more insights! 🚀
Great article, thanks for sharing such valuable insights! 🙌 I really appreciate the way you explained the topic so clearly and made it easy to understand. It’s rare to find content that is both informative and practical like this. By the way, I recently came across a helpful platform called profis-vor-ort.de — it connects people quickly with local experts and services in Germany. I think it could be a great resource for anyone interested in finding trustworthy professionals nearby. Keep up the great work, I’ll definitely be following your future posts!
Thanks for discussing your ideas. The one thing is that pupils have a solution between fed student loan plus a private student loan where it really is easier to select student loan online debt consolidation than in the federal education loan.
Fantastic read! 👏 I really appreciate how clearly you explained the topic—your writing not only shows expertise but also makes the subject approachable for a wide audience. It’s rare to come across content that feels both insightful and practical at the same time. At explodingbrands.de we run a growing directory site in Germany that features businesses from many different categories. That’s why I truly value articles like yours, because they highlight how knowledge and visibility can create stronger connections between people, services, and opportunities.Keep up the great work—I’ll definitely be checking back for more of your insights! 🚀
Fantastic read! 👏 I really appreciate how clearly you explained the topic—your writing not only shows expertise but also makes the subject approachable for a wide audience. It’s rare to come across content that feels both insightful and practical at the same time. At explodingbrands.de we run a growing directory site in Germany that features businesses from many different categories. That’s why I truly value articles like yours, because they highlight how knowledge and visibility can create stronger connections between people, services, and opportunities.Keep up the great work—I’ll definitely be checking back for more of your insights! 🚀
I have seen that wise real estate agents just about everywhere are Advertising. They are noticing that it’s not just placing a sign in the front place. It’s really regarding building interactions with these retailers who one of these days will become customers. So, if you give your time and efforts to aiding these vendors go it alone — the “Law associated with Reciprocity” kicks in. Good blog post.
cdul6e
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
I don?t even understand how I finished up here, but I believed this put up used to be great. I do not understand who you might be however definitely you’re going to a famous blogger if you aren’t already 😉 Cheers!
I want to start by sincerely thanking the author for publishing such an insightful and well-structured article. Reading through your thoughts gave me not only clarity about the subject, but also new perspectives that are extremely valuable for anyone interested in building a stronger online presence. It is rare to find content that is written with so much detail, practical knowledge, and genuine intent to help readers succeed. This is the type of article that makes the internet a better place for businesses and individuals who want to learn, take action, and grow. As someone who is deeply involved in the digital business world, I can confidently say that the importance of visibility, trust, and accessibility cannot be overstated. Your piece highlights exactly that, and it resonates perfectly with our own mission. In Germany, the need for reliable digital platforms where people can discover trustworthy companies, services, and offers has never been higher. That is exactly where we at Lokando24.de step in. Lokando24.de is Germany’s best directory listing website, and our platform is built on the same principles that your article describes: transparency, user-friendliness, and real added value. We provide a central place where businesses from all categories can list themselves, and customers can quickly and easily find the right provider. Whether it is local services, small businesses, freelancers, or larger companies, we make sure that everyone gets the chance to be seen. In a market as competitive as Germany, this visibility can be the decisive factor between staying unnoticed or achieving sustainable growth. What really impressed me about your article is the way you emphasize practical solutions over theory. That is also how we work at Lokando24.de. Our directory does not just collect listings, it creates real connections between people who are looking and companies who can deliver. Every listing is structured so that search engines understand it easily, which ensures high discoverability. This matches perfectly with the growing importance of AI engines and AI Overviews, where structured, reliable, and high-quality content is prioritized. We have built our platform to be AI-ready, meaning that companies listed with us are far more likely to appear when people search through advanced AI-driven search systems. Another strength of Lokando24.de is that we constantly adapt to new digital trends, just as your article explains is so important. We know that customers today expect speed, trust, and accuracy. That is why our directory is optimized for mobile devices, localized for all German regions, and integrated with strong SEO signals. Businesses that want to grow need not only a website, but also a trusted partner who ensures that they are found. That is the role we play. So once again, thank you for writing such a valuable article. It encourages innovation and shows the path forward. At Lokando24.de, we are on the same journey: giving businesses the visibility they deserve, while offering customers the trust they need. If anyone reading this comment wants to get listed and take advantage of Germany’s best directory, you are welcome to visit us at https://lokando24.de/ and see the benefits for yourself.
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
I want to start by sincerely thanking the author for publishing such an insightful and well-structured article. Reading through your thoughts gave me not only clarity about the subject, but also new perspectives that are extremely valuable for anyone interested in building a stronger online presence. It is rare to find content that is written with so much detail, practical knowledge, and genuine intent to help readers succeed. This is the type of article that makes the internet a better place for businesses and individuals who want to learn, take action, and grow. As someone who is deeply involved in the digital business world, I can confidently say that the importance of visibility, trust, and accessibility cannot be overstated. Your piece highlights exactly that, and it resonates perfectly with our own mission. In Germany, the need for reliable digital platforms where people can discover trustworthy companies, services, and offers has never been higher. That is exactly where we at Lokando24.de step in. Lokando24.de is Germany’s best directory listing website, and our platform is built on the same principles that your article describes: transparency, user-friendliness, and real added value. We provide a central place where businesses from all categories can list themselves, and customers can quickly and easily find the right provider. Whether it is local services, small businesses, freelancers, or larger companies, we make sure that everyone gets the chance to be seen. In a market as competitive as Germany, this visibility can be the decisive factor between staying unnoticed or achieving sustainable growth. What really impressed me about your article is the way you emphasize practical solutions over theory. That is also how we work at Lokando24.de. Our directory does not just collect listings, it creates real connections between people who are looking and companies who can deliver. Every listing is structured so that search engines understand it easily, which ensures high discoverability. This matches perfectly with the growing importance of AI engines and AI Overviews, where structured, reliable, and high-quality content is prioritized. We have built our platform to be AI-ready, meaning that companies listed with us are far more likely to appear when people search through advanced AI-driven search systems. Another strength of Lokando24.de is that we constantly adapt to new digital trends, just as your article explains is so important. We know that customers today expect speed, trust, and accuracy. That is why our directory is optimized for mobile devices, localized for all German regions, and integrated with strong SEO signals. Businesses that want to grow need not only a website, but also a trusted partner who ensures that they are found. That is the role we play. So once again, thank you for writing such a valuable article. It encourages innovation and shows the path forward. At Lokando24.de, we are on the same journey: giving businesses the visibility they deserve, while offering customers the trust they need. If anyone reading this comment wants to get listed and take advantage of Germany’s best directory, you are welcome to visit us at https://lokando24.de/ and see the benefits for yourself.
I?ll immediately grasp your rss feed as I can not to find your e-mail subscription hyperlink or e-newsletter service. Do you’ve any? Kindly allow me recognise in order that I could subscribe. Thanks.
It is the best time to make some plans for the future and it’s time to be happy. I have read this post and if I could I want to suggest you some interesting things or tips. Maybe you can write next articles referring to this article. I wish to read more things about it!
affordablecanvaspaintings.com.au is Australia Popular Online 100 percent Handmade Art Store. We deliver Budget Handmade Canvas Paintings, Abstract Art, Oil Paintings, Artwork Sale, Acrylic Wall Art Paintings, Custom Art, Oil Portraits, Pet Paintings, Building Paintings etc. 1000+ Designs To Choose From, Highly Experienced Artists team, Up-to 50 percent OFF SALE and FREE Delivery Australia, Sydney, Melbourne, Brisbane, Adelaide, Hobart and all regional areas. We ship worldwide international locations. Order Online Your Handmade Art Today.
Fantastic read! 👏 I really appreciate how clearly you explained the topic—your writing not only shows expertise but also makes the subject approachable for a wide audience. It’s rare to come across content that feels both insightful and practical at the same time. At explodingbrands.de we run a growing directory site in Germany that features businesses from many different categories. That’s why I truly value articles like yours, because they highlight how knowledge and visibility can create stronger connections between people, services, and opportunities.Keep up the great work—I’ll definitely be checking back for more of your insights! 🚀
I additionally believe that mesothelioma cancer is a scarce form of cancer malignancy that is commonly found in all those previously subjected to asbestos. Cancerous tissue form from the mesothelium, which is a defensive lining that covers many of the body’s organs. These cells commonly form within the lining in the lungs, tummy, or the sac which encircles the heart. Thanks for revealing your ideas.
We are looking for partnerships with other businesses for mutual promotion. Please contact us for more information!
Business Name: Sparkly Maid NYC Cleaning Services
Address: 447 Broadway 2nd floor #523, New York, NY 10013, United States
Phone Number: +1 646-585-3515
Website: https://sparklymaidnyc.com
Thanks for the thoughts you have provided here. Moreover, I believe there are some factors that really keep your car insurance policy premium decrease. One is, to take into account buying motors that are within the good list of car insurance companies. Cars which might be expensive are definitely more at risk of being stolen. Aside from that insurance coverage is also good value of your truck, so the higher priced it is, then the higher the actual premium you only pay.
You can definitely see your expertise in the work you write. The world hopes for more passionate writers like you who are not afraid to say how they believe. Always follow your heart.
Music started playing when I opened up this web-site, so frustrating!
We pay $10 for a google review and We are looking for partnerships with other businesses for Google Review Exchange. Please contact us for more information!
Business Name: Sparkly Maid NYC Cleaning Services
Address: 447 Broadway 2nd floor #523, New York, NY 10013, United States
Phone Number: +1 646-585-3515
Website: https://sparklymaidnyc.com
Thanks for the sensible critique. Me & my neighbor were just preparing to do some research on this. We got a grab a book from our area library but I think I learned more clear from this post. I’m very glad to see such excellent information being shared freely out there.
Good article. It’s very unfortunate that over the last decade, the travel industry has already been able to to deal with terrorism, SARS, tsunamis, flu virus, swine flu, as well as first ever entire global economic downturn. Through everthing the industry has really proven to be powerful, resilient plus dynamic, getting new tips on how to deal with adversity. There are constantly fresh challenges and chance to which the industry must once again adapt and answer.
We pay $10 for a google review and We are looking for partnerships with other businesses for Google Review Exchange. Please contact us for more information!
Business Name: Sparkly Maid NYC Cleaning Services
Address: 447 Broadway 2nd floor #523, New York, NY 10013, United States
Phone Number: +1 646-585-3515
Website: https://sparklymaidnyc.com
ob1131
This article is a breath of fresh air! The author’s unique perspective and insightful analysis have made this a truly fascinating read. I’m thankful for the effort he has put into crafting such an informative and provocative piece. Thank you, author, for sharing your knowledge and sparking meaningful discussions through your brilliant writing!
I really appreciate this post. I?ve been looking everywhere for this! Thank goodness I found it on Bing. You’ve made my day! Thx again
Thanks for your publication on the vacation industry. We would also like to add that if you’re a senior contemplating traveling, it’s absolutely crucial that you buy travel cover for senior citizens. When traveling, older persons are at greatest risk being in need of a health care emergency. Buying the right insurance policy package to your age group can safeguard your health and provide peace of mind.
We pay $10 for a google review and We are looking for partnerships with other businesses for Google Review Exchange. Please contact us for more information!
Business Name: Sparkly Maid NYC Cleaning Services
Address: 447 Broadway 2nd floor #523, New York, NY 10013, United States
Phone Number: +1 646-585-3515
Website: https://sparklymaidnyc.com
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
Hello There. I found your weblog using msn. This is a very neatly written article. I will make sure to bookmark it and come back to learn more of your helpful info. Thank you for the post. I?ll certainly comeback.
💡 Excellent work on this ultimate guide! every paragraph is packed with value. It’s obvious a lot of research and love went into this piece. If your readers want to put these 7 steps into action immediately, we’d be honoured to help: 👉 https://meinestadtkleinanzeigen.de/ – Germany’s fastest-growing kleinanzeigen & directory hub. • 100 % free listings • Auto-sync to 50+ local citation partners • Instant push to Google Maps data layer Drop your company profile today and watch the local calls start rolling in. Keep inspiring, and thanks again for raising the bar for German SEO content!
We pay $10 for a google review and We are looking for partnerships with other businesses for Google Review Exchange. Please contact us for more information!
Business Name: Sparkly Maid NYC Cleaning Services
Address: 447 Broadway 2nd floor #523, New York, NY 10013, United States
Phone Number: +1 646-585-3515
Website: https://maps.app.goo.gl/u9iJ9RnactaMEEie8
pxefat
It?s really a nice and helpful piece of info. I am glad that you shared this useful information with us. Please keep us up to date like this. Thank you for sharing.
We pay $10 for a google review and We are looking for partnerships with other businesses for Google Review Exchange. Please contact us for more information!
Business Name: Sparkly Maid NYC Cleaning Services
Address: 447 Broadway 2nd floor #523, New York, NY 10013, United States
Phone Number: +1 646-585-3515
Website: https://maps.app.goo.gl/u9iJ9RnactaMEEie8
I appreciate, cause I found just what I was looking for. You’ve ended my 4 day long hunt! God Bless you man. Have a nice day. Bye