Pathfinder is a game of many rules and lots of bookkeeping, both during and out of play. Each scenario or module awards a player with a chronicle sheet that serves as a trophy and evidence that the player has played a given scenario with one of their characters. At any time, a Game Master has the right to demand an audit of a player's character and, unless the player has all of their chronicle sheets in their posession, they may be barred from that game until they can provide evidence of their character's supposed achievements. This was the inspiration behind ETHChronicler. No longer would there be a risk of going to a gaming convention ready to play a few days of Pathfinder, only to find that a ruthless Game Master chose your character to audit on the day that you leave your chronicle binder in the hotel room. As an exploration into the concept of digital assets, EthChronciler will be a Pathfinder Society member's trophy room and book of record for themself and all of their characters achievements.

What it does

ETHChronicler creates and displays Pathfinder chronicle sheets as digital assets on Ethereum. A Game Master uses a GM token to digitally sign players' chronicle sheets, which are then stored on IPFS. If a new player joins an existing Pathfinder adventure, his character's entire history (experience, gold, etc) can be traced back digitally and verified through IPFS and Ethereum. This ensures the integrity and accuracy of a new player's stats.

How we built it

Our testing and deployment framework was the truffle suite. Web3.js and truffle-contract.js in the web browser gave us access to the token contract. Standard javascript web developemnt libraries such as jQuery and underscore.js power the web app along with an IPFS library with direct access to the infura IPFS gateway.

Challenges we ran into

A self-imposed challenge we faced was storing the chronicle sheets and player chronicle data on IPFS, an entirely new platform for our team. Learning how to interact with the Interplanetary Filesystem was a lengthy, yet rewarding, endeavor. We feel strongly that humanity stands to benefit from the universal and infinite storage of our Pathfinder chronicle sheets. Our team also did not have much experience with Node, which, at times, was a source of much frustration. We saw that we needed node libraries to engage with parts of the ecosystem we were building, but did not have the depth of knowledge to effectively utilize the language. Thanks for browserify, we were able to pull the node libraries into web browser accessible javascript files and integrate with the systems necessary. We also found that we experienced several interesting behaviors that caused our application to enter confusing and, at times, self-contradictory states. Throughout the hackathon, we learned more about what was happening and had suitable workarounds.

Built With

Share this project: