Skip to content
Sam Steele edited this page Apr 30, 2019 · 2 revisions

Goes in order of usage.

url

req ( !GET )
res

Initialize Enrico

post http://localhost:8080/get-encrypt-key

{
	"label": "ipfs test label"
}

{
    "labelHash": "aXBmcyB0ZXN0IGxhYmVs",
    "pubKey": "023f11f877ca067b78470a74ba447cc7f71ad14da684e2f5b0f071070a9c5fab63"
}

( --- stop containers, add to enrico and restart nodes --- )

Upload

post http://localhost:8080/books

{
	"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
	"ethAddress": "0xde1ec7ab1e0feca1",
	"labelHash": "aXBmcyB0ZXN0IGxhYmVs",
	"ethPrice": "0.01",
	"title": "Lorem ipsum"
}

{
    "message": "Book encrypted and uploaded to IPFS.",
    "bookId": "5cc75db7b69346510a27eaf4",
    "ipfsPath": "QmSKLBs542NhQ39FQFXdGfuMZiY5j15Sb6RJtyAifRCK76"
}

Check that it's there

http://localhost:8080/get-from-ipfs

{
	"path": "QmcUmMW1oQjq6DHrFj79eUcoK31DJd1cwHZzyaXRA9UUpi"
}

{
    "message": "Book uploaded.",
    "content": "
{\"message_kit\":\"Amw28RJyC+Uj3QUuWfx79RGjrJXcrPDMsNSeA89VilSvAzaekv7a1Eq5im9uWDFLj5e84S1ZSIdOfgAp8mosOOnI5nPXorm+rKkVSbI5TTeCEs8SM9Y84FWmwt/ZxOz6DqUDiUDCqlXDwMm/HvKYrQiwAhLPjS01ryX1nvT7uuZ6c9sVr3ueLNOjhJ3vmDru8YtLRSe0OQts509ysWxODbHRGK4hqX/EZzhCbCQCwBRECbjkmcjLtSY95YI9GPOkGKGO5Lul9ZRDiLIMzTQumMxct8hI+uBF5kYSYPnXBpZd53FmxKJYHgzi2t6oACbH+D57SJQO6g3mJKBU7Zojrh0ZrWoARCAxHhQQ/7qe0NwOGAV3cGALnvCQW7uLlxYaOc0+P8UrVeXqsgatJInA2vxOxnxXiJE96BtpNqlbuUJQvO2QOz4Uf6F6NwKGkosB4UG8/za07+2TnsAlwdMv2EJHiDIJGzVT6sHVE8T7gG1EiMyDK7xlrp3zXhueSSA0f37D+rj1Thb8nzrRXGXTStdRUFBKd0b1v+0ZBuZO+a4tNzxbRMKvv27h/CDic998lZdpZSFbSunpf85KV4PyXb2X4BMq24YKEwaS2qSqkw6jqEjLZTlikaznz6OmuR0w+LzeUXSMeI0HDbterqLbUdbObTclmEU4Bmvh6kgUWuZEbqWzKV+8WDVY0XcKspkfy8s4WBN9MJdezjVtq4i0Bu8iTO73wOJSq3uWV8v7pUfBazkWTywW57eTEeEgO1ykzoPZzo/d0dcWrzYrWFY+3NA5miC8o+RE1V07tDqs0R9b9RW9OH/sckkaN42ylFPji9duRJlCjgyHIypamNToBgxWgc3rG8J4az3HuILHGfrwaKaCLxvUmJ/lljnSuPgBUt5z+P7Ck1JeRgOLtK3HlkCzd4t/OlGwaNsqLawyvO38J4MRQTZWLagmh5ElH6jx/CSLsA8D7gdSSkA0tLV9Uus7fgWYR7j5tKk82k8RrFBUIhysD4p6fA4pO+kbfXvVf+P8OcnQKEp8ALWRXj5t+NLJnJBuzCCC5SiZ/tm7P+NqN6heaWmcqZ2fMjpNjg0jtYZTS7TPNDvkv+k=\",\"signature\":\"SDJERlcRtgsdyO5LWAFVmcV5wxv5g4Nrcok8BfTyXFiVIZXuP2nFD7BA5ie4T0JWhCbxoX9265eo5Gzy9bVkEQ==\"}"
}

View All

http://localhost:8080/books

[
    
{
        "_id": "5cc75db7b69346510a27eaf4",
        "ethAddress": "0xde1ec7ab1e0feca1",
        "ethPrice": "0.01",
        "ipfsPath": "QmSKLBs542NhQ39FQFXdGfuMZiY5j15Sb6RJtyAifRCK76",
        "labelHash": "aXBmcyB0ZXN0IGxhYmVs",
        "policyEncryptingPubkey": "02a1371a45a447ab79de0f9a7d4b91fdb9a37754d3a473fac7b452c14793737aa8",
        "title": "Lorem ipsum",
        "created_at": "2019-04-29T20:25:27.581Z",
        "updated_at": "2019-04-29T20:25:27.581Z",
        "__v": 0
    }
]

Or One

get http://localhost:8080/book/:bookId

Purchase

create account

post http://localhost:8080/account

{
	"ethAddress": "0x57ab1e0ab1e0a7e0decea5ed0beef"
}

{
    "message": "Account created.",
    "accountId": "5cc7605ed84e645153f02fde",
    "signingKey": "0301a0603f22eec7febecd2767b0b12573ef500f4d58f7f1416a87c40c418df151",
    "encryptingKey": "037689cbf1636b756ea0541532e6d974de6b90cbdd794ae2d1b549f77ca9acfb91"
}

( --- send payment to contract --- )

Save Purchase

post http://localhost:8080/purchase

{
	"bookId": "5cc75db7b69346510a27eaf4",
    "ethAddress": "0x57ab1e0ab1e0a7e0decea5ed0beef",
	"labelHash": "aXBmcyB0ZXN0IGxhYmVs",
	"txn": "0xnot1really1a1txn"
}

{
    "message": "Purchase saved.",
    "purchaseId": "5cc7612dd84e645153f02fdf"
}

View Purchase

get http://localhost:8080/purchases/0x57ab1e0ab1e0a7e0decea5ed0beef

[
    
{
        "_id": "5cc7612dd84e645153f02fdf",
        "bookId": "5cc75db7b69346510a27eaf4",
        "ethAddress": "0x57ab1e0ab1e0a7e0decea5ed0beef",
        "txn": "0xnot1really1a1txn",
        "created_at": "2019-04-29T20:40:13.783Z",
        "updated_at": "2019-04-29T20:40:13.783Z",
        "__v": 0
    }
]

Get Key

post http://localhost:8080/get-decrypt-key

{
	"labelHash": "aXBmcyB0ZXN0IGxhYmVs",
	"ethAddress": "0x57ab1e0ab1e0a7e0decea5ed0beef",
	"purchaseId": "5cc7612dd84e645153f02fdf"
}

{
    "aliceSigningPubkey": "02279632bb0c44cce523826c5a4cee9f23783236caa80282bb6e3fbca5756a77b8",
    "policyEncryptingPubkey": "023f11f877ca067b78470a74ba447cc7f71ad14da684e2f5b0f071070a9c5fab63"
}

Download

post http://localhost:8080/download

{
	"bookId": "5cc7860bf1a83b5a12531e59",
	"purchaseId": "5cc7887a5712795a659c6b5d",
	"aliceSigningPubkey": "03bd2cbe08c03f8ec3d107afdf4dad600a6c5b1439d3ee403ecf82cd4016b0a925"
}

{
    "contents": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
}
Clone this wiki locally