Giter VIP home page Giter VIP logo

block-foundation / solidity-real-estate-crowdfunding Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 94 KB

Solidity Smart Contract: Real-Estate Crowdfunding

Home Page: https://www.blockfoundation.io

License: Creative Commons Attribution Share Alike 4.0 International

Solidity 38.88% Dockerfile 0.38% JavaScript 7.06% TypeScript 53.69%
architecture block-foundation blockchain blockfoundation crowdfunding eth ethereum hardhat real-estate smart-contracts

solidity-real-estate-crowdfunding's Introduction

GitHub License devContainer


Block Foundation Logo

Real-Estate Crowdfunding

Block Foundation Smart Contract Series [Solidity]


Block Foundation Brand

Contents



Report a Bug Request a Feature Ask a Question Make a Suggestion Start a Discussion

Introduction

This project utilizes Smart Contract technology to facilitate, validate, and enforce negotiation or performance of an agreement. This automated, self-executing contract with the terms of the agreement directly written into code enables the democratization of real estate funding, rendering it more transparent, efficient, and accessible.

The Smart Contract has been designed with several features to enhance functionality and security. First, users can create a new crowdfunding campaign, specifying a goal amount to raise. Then, interested investors can contribute to the campaign while the contract keeps track of each investor's contribution and the total raised amount.

Moreover, the contract also has built-in mechanisms to safeguard the interests of both project creators and investors. For instance, if a crowdfunding campaign does not reach its funding goal by the specified deadline, the contract will automatically facilitate refunds to the investors.

This Blockchain-based Real Estate Crowdfunding solution signifies a step forward in the digital transformation of the real estate industry. It brings us one step closer to a decentralized financial landscape where anyone can participate in investment opportunities that were traditionally limited to institutions or the wealthy.

Quick Start

Install

npm i

Compile

npm run compile

Contract

This is a simple Ethereum smart contract for crowdfunding real estate projects. This contract allows users to create new crowdfunding campaigns and contribute to existing ones.

This contract includes:

  • A Campaign struct, which is used to hold data about each crowdfunding campaign.
  • A campaigns array, which is used to hold all Campaign instances.
  • The createCampaign function, which allows a user to start a new campaign with a specific goal amount.
  • The createCampaign function accepts a duration parameter in seconds, which is added to the current timestamp to set the deadline for the campaign.
  • The contribute function, which allows a user to contribute to a specific campaign.
  • The checkContribution function, which allows a user to check how much they have contributed to a specific campaign.
  • The withdrawFunds function, which allows the campaign owner to withdraw the funds after the campaign goal has been reached.
  • The withdrawFunds function checks whether the deadline has been reached before allowing the beneficiary to withdraw the funds.
  • A deadline variable in the Campaign struct, which is used to set a deadline for the crowdfunding campaign.
  • The contribute function now checks whether the campaign has ended before accepting any funds.
  • A refund function, which allows donors to get their donations back if the fundraising goal wasn't met by the deadline. This function will check if the campaign has ended and whether the goal was met. It then verifies that the sender has contributed to the campaign, sets their contribution to zero, and then sends them back their original contribution.

Please note, you need to make sure you have a reliable and secure way of validating and fulfilling the contracts in real life. Smart contracts are best used when complemented with a solid legal framework. Also, this is a simplified example and lacks many important features such as refunding donors if the goal isn't met, security features, dispute resolution mechanisms, etc.

Development Resources

Other Repositories

Block Foundation Smart Contract Series

Solidity Teal
Template >>> >>>
Architectural Design >>> >>>
Architecture Competition >>> >>>
Housing Cooporative >>> >>>
Land Registry >>> >>>
Real-Estate Crowdfunding >>> >>>
Rent-to-Own >>> >>>
Self-Owning Building >>> >>>
Smart Home >>> >>>

Colophon

Authors

This is an open-source project by the Block Foundation.

The Block Foundation mission is enabling architects to take back initiative and contribute in solving the mismatch in housing through blockchain technology. Therefore the Block Foundation seeks to unschackle the traditional constraints and construct middle ground between rent and the rigidity of traditional mortgages.

website: www.blockfoundation.io

Development Resources

Contributing

We'd love for you to contribute and to make this project even better than it is today! Please refer to the contribution guidelines for information.

Legal Information

Copyright

Copyright © 2023 Stichting Block Foundation. All Rights Reserved.

License

Except as otherwise noted, the content in this repository is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License, and code samples are licensed under the Apache 2.0 License.

Also see LICENSE and LICENSE-CODE.

Disclaimer

THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.

solidity-real-estate-crowdfunding's People

Contributors

vanvianen avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.