Git Product home page Git Product logo

smartwed's Introduction

SmartWed

Smart Marriage Project

The "SmartWed" Smart Marriage Project is built on the awesome work that Jordi did for my wife and I at Burning Man. It is connected to (0wned by) a consensys 2of3 multisig. The marriage contract itself has a few capabilities:

  1. Contains the names of the partners in the relationship
  2. Contains a short field for vows
  3. Creating milestones for significant events in the relationship such as child or divorce
  4. Contains a URL for IPFS hash or other resource for wedding photo
  5. Has a simple guestbook that allows for donation

Right now the only way to interact with the contract is the hard way, using MyEtherWallet to send messages and donations to it, and etherscan.io to view the contract contents.

The aim is to make an easy-to-use web interface for the contract that would allow any user to be able to leave messages in the guestbook, donate, or read the contract and guestbook easily, preferably with metamask integration.

You can find a real example at 0xd09b6e3c8fb7e05e248197ec45c38cd338d66c1a

Please see the loomio for the SmartWed working group at https://www.loomio.org/d/Tn0ybCwH/smartwed-working-group

smartwed's People

Contributors

bowensanders avatar

Stargazers

Romel avatar

Watchers

Bryan Waters avatar James Cloos avatar

Forkers

balu-varanasi

smartwed's Issues

Interface: Cosmetic - make the css better

This is just a slightly modified template I used to whip this out as quick as possible. I like the grey / blue / white / black color scheme (especially the logo) and I'd like to keep the basic layout.

Interface: Metamask Integration

currently the connection is static to infura:

// connect direct to infura - needs to change to metamask when guestbook entry is created
            web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/ySFxqrROS2e1chccEsyS")); 

I would like it to default to Metamask first so guestbook signing is possible, but display the info anyway if they don't have metamask (and tell them to install it so they CAN sign)

Interface: Guestbook entry display - date

the date currently shows as:
Date: 14/09/2017 20:58

I would like it to show as:
Date: 14 Sep 2017 20:58 (UTC) - or even better have it auto switch for time zones

Interface: Find Timestamp of Contract Creation

etherscan.io can tell what block a txhash is from, and thereby tell when the contract creation date is. I'm not sure if they are doing that from their own internal databases, but i'm searching for either a web3 function that will show the contract creation date, or an API call to somewhere that can.

so the wedding contract creation date shows, and then contract finalization can be shown as well (in this case, it is in the contrtact data as marriageDate)

Interface: Guestbook Create Entry

create a simple four field entry form that will submit a guestbook entry to the contract.

The fields are: nameFrom (from), text (message), url (of picture, website, IPFS or whatever), value (ETH donation)

it is submitted to the contract as sendMessage:

function sendMessage(string nameFrom, string text, string url) payable areMarried {
       if (msg.value > 0) {
           owner.transfer(this.balance);
       }
       messages.push(Message(now, nameFrom, text, url, msg.value));
       MessageSent(nameFrom, text, url, msg.value);
   }

donations through the guestbook are automatically forwarded to owner(multisig)

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.