Skip to content

Commit

Permalink
Merge pull request #1 from austintgriffith/master
Browse files Browse the repository at this point in the history
git pull test
  • Loading branch information
Lemiscate authored Apr 18, 2019
2 parents 409d4cb + e429cb3 commit bffb9f0
Show file tree
Hide file tree
Showing 70 changed files with 2,945 additions and 568 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sol linguist-language=Solidity
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2018 Austin Griffith

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
45 changes: 29 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
Read the full article here:
[Ethereum in Emerging Economies - Mass adoption will start where decentralization is necessary](https://medium.com/@austin_48503/ethereum-in-emerging-economies-b235f8dac2f2)


There are places in the world today where it's hard to find important goods with the traditional currency or the currency may fluctuate immensely in value due to inflation. Luckily, exchange of value is one of our most powerful assets in the Ethereum space. 

Unfortunately, it is especially difficult to onboard new users because our ecosystem has such a steep learning curve. Traditional wallets put a huge burden on the user to understand a new currency and deal with seed phrases.

What we need is a way to exchange an intuitive currency like DAI using a simple and ubiquitous platform like the mobile web browser.
Expand All @@ -14,48 +11,65 @@ What we need is a way to exchange an intuitive currency like DAI using a simple

### Contributing as a Developer/Designer

you'll need ganache installed and running
```
ganache-cli
```

clone the burner wallet repo
```
git clone https://github.com/austintgriffith/burner-wallet.git
cd burner-wallet
```


initialize burner:
```
npx clevis init
```
(You'll need to hit enter a few times to specify some config directories.)


install burner:
install burner:
```
npm i
```

link clevis
```
alias clevis='./node_modules/clevis/bin.js'
```

in a new terminal install and fire up ganache:
compile, deploy, test, and inject all contracts in the frontend:
```
ganache-cli
clevis test full
```

in a new terminal start the app:
start the app:
```
npm start
```

you probably want to have a bin alias for clevis in your .bashrc or .profile as mentioned in the [clevis docs](https://github.com/austintgriffith/clevis):
### Meta Transaction Relay

in a new terminal start the decentralized metatx relayer from Tabookey:
```
alias clevis='./node_modules/clevis/bin.js'
./startLocalRelay.sh
```

in a new terminal compile and deploy all contracts:
then deploy and test
```
clevis test full
clevis test withrelay
```

Take a look at `tests/clevis.js`, the `metamask()` function in particular, to give your MetaMask accounts some ETH when you run the full test.
### WTF is Clevis? (It's like truffle and drizzle I think.)

Clevis is used to compile, deploy, and test the smart contracts. It is mainly for orchestration, but it also injects all the contracts into the Dapparatus (frontend).

[clevis docs](https://github.com/austintgriffith/clevis):


### Testing locally

Take a look at `tests/clevis.js`, the `metamask()` function in particular, to give your MetaMask accounts some ETH when you run the full test.

# Original Video

Expand Down Expand Up @@ -145,7 +159,7 @@ Your frontend should automatically reload and your account should have xDai:



Are you a developer or designer that would like to help build the next iteration of the 🔥👛Burner Wallet👛🔥? Here is a short intro video to explain how to get started:
Are you a developer or designer that would like to help build the next iteration of the 🔥👛Burner Wallet👛🔥? Here is a short intro video to explain how to get started:

[![onrampscreencast](https://user-images.githubusercontent.com/2653167/48449772-ee8e9b00-e760-11e8-93dd-ab2105a1c28d.png)](https://youtu.be/bAHluAuyLqo)

Expand All @@ -156,4 +170,3 @@ To learn more about Clevis and Dapparatus check out some of the following articl
[https://medium.com/@austin_48503/buidlguidl-0x0-clevis-dapparatus-533936a8236a](https://medium.com/@austin_48503/buidlguidl-0x0-clevis-dapparatus-533936a8236a)
[https://medium.com/@austin_48503/buidlguidl-0x1-guidlcoin-3be30c6ac76f](https://medium.com/@austin_48503/buidlguidl-0x1-guidlcoin-3be30c6ac76f)
[https://medium.com/@austin_48503/%EF%B8%8Fclevis-blockchain-orchestration-682d2396aeef](https://medium.com/@austin_48503/%EF%B8%8Fclevis-blockchain-orchestration-682d2396aeef)

Binary file removed burnercard.psd
Binary file not shown.
2 changes: 2 additions & 0 deletions contracts.clevis
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
Links
LinksNFT
ERC20Vendable
VendingMachine
Burner
BurnerVendor
Badges
30 changes: 30 additions & 0 deletions contracts/Badges/Badges.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
pragma solidity ^0.4.24;

import "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol";
import "openzeppelin-solidity/contracts/token/ERC721/ERC721Enumerable.sol";
import "openzeppelin-solidity/contracts/token/ERC721/ERC721MetadataMintable.sol";
import "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol";
/**
* @title Full ERC721 Token
* This implementation includes all the required and some optional functionality of the ERC721 standard
* Moreover, it includes approve all functionality using operator terminology
* @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
*/
contract Badges is ERC721, ERC721Enumerable, ERC721Metadata, ERC721MetadataMintable {
constructor (string memory name, string memory symbol) public ERC721Metadata(name, symbol) {
// solhint-disable-previous-line no-empty-blocks
}

//EXAMPLE RESPONSE FROM TOKEN URI: https://opensea-creatures-api.herokuapp.com/api/creature/3

function mintNextTokenWithTokenURI(address to, string memory tokenURI) public onlyMinter returns (bool) {
uint256 tokenId = _getNextTokenId();
_mint(to, tokenId);
_setTokenURI(tokenId, tokenURI);
return true;
}

function _getNextTokenId() private view returns (uint256) {
return totalSupply().add(1);
}
}
6 changes: 6 additions & 0 deletions contracts/Badges/arguments.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*
Example of passing in a string to the constructor:
module.exports = ["hello world"]
*/

module.exports = ["BurnerBadge","BRNB"]
20 changes: 20 additions & 0 deletions contracts/Badges/dependencies.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions contracts/Links/Links.address.backup
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0xacb90712288F3eBD6DB86ffFd0484e69eFeF3Bfe
Loading

0 comments on commit bffb9f0

Please sign in to comment.