You want to use
link.call.get()
Also, a better way to do it is just to mark the get function constant. Then it will do a call by default.
This does a simulated transaction call and returns the value. Otherwise, you're doing an actual transaction, and getting the return value.
Dealing with strings can be tricky; they aren't value types, like bytes32
, but are a pointer to a dynamic array of bytes, similar to char*
in C. See the docs for more info