[go: nahoru, domu]

Skip to content

Crowfunding plateform using Ethereum Smart Contract, create and manage new campaigns...

License

Notifications You must be signed in to change notification settings

ThalKod/kickstart

Repository files navigation

Kickstart

Kickstart is a POW crowfunding plateform using Ethereum Smart Contract...

Built With

  • Ethereum - Ethereum Network
  • Solidity - Contract-Oriented Programming Language
  • Nodejs - Node.js JavaScript runtime
  • Next - Lightweight framework for server‑rendered applications.
  • Metamask - Browser extension for browsing Ethereum blockchain enabled websites

Feature

  • Create new campaigns; Users can create new campaigns using Metamask
  • Add Campaigns requests, When desired Campaigns owners can ask for a transfert requests...
  • Validate new requests; Contributors of the campaigns can validate requests
  • Withdraw funds; Uppon contributor validation campaigns owners can withdraw funds.

Local Instalation

  • Clone Repo
$ git clone https://github.com/ThalKod/kickstart.git
  • Install Node modules
$ npm install
  • Built nextjs
$ npm run build
  • Start the applicaton
$ npm start

Deploy Script

If you want to deploy a new root contract, you can do so by setting up a deploy scripts in the ethereum/ Folder

  • Template for a deploy script :
const HDWalletProvider = require("truffle-hdwallet-provider");
const Web3  = require("web3");
const compiledFactory = require("./build/CampaignFactory.json");

const provider = new HDWalletProvider(
    YOUR_SEED,
    YOUR_NODE_PROVIDER_ADDRESS
);

const web3 = new Web3(provider);

// web3.eth.getAccounts().then((accounts)=>{
//     console.log("Attempting to deploy from Account " + accounts[0]);
//     new web3.eth.Contract(JSON.parse(interface))
//         .deploy({data: bytecode, arguments: ["Hi, There"]})
//         .send({gas: "7000000", from: accounts[0]}).then((res)=>{
//             console.log("Contract deployed to ", res.options.address);
//         }).catch((e)=>{
//             console.log(e);
//         });

// }).catch((e)=>{
//     console.log(e);
// });

const deploy = async ()=>{

    const accounts = await web3.eth.getAccounts();
    // console.log(accounts);
    console.log("Attempting to deploy from Account " + accounts[0]);

    const result = await new web3.eth.Contract(JSON.parse(compiledFactory.interface))
        .deploy({data: "0x" + compiledFactory.bytecode})
        .send({gas: "1000000", from: accounts[0]});

        console.log("Contract deployed to ", result.options.address);
};
deploy();

About

Crowfunding plateform using Ethereum Smart Contract, create and manage new campaigns...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published